4

私はelasticsearchの初心者で、jsonbフィールド内のフィールドにインデックスを追加したいと考えています。これはネストされた関係ではありません。

idフィールド(整数)、user_id(整数)、data(jsonb)を持つテーブル ペイロードがあります。

サンプルの jsonb 値は次のようになります。

{"name" => "Test User", "values" => {"age" => 24, "gender" => "male"}, "married": false}

「データ」(jsonb列)の「値」セクション内の「性別」フィールドのインデックスを追加したい。

データベースはpostgresです。

次のようにインデックス構成を追加しました。

  mappings do
    indexes :id,      type: 'integer'
    indexes :user_id, type: 'integer'

    indexes :data do
      indexes :gender
    end
  end

これは正しいですか?

クエリの正確な結果を取得しています。

{"query": {
    "term": {
        "user_id": 1
    }
}}

しかし、このクエリではありません

{"query": {
    "term": {
        "gender": "male"
    }
}}

前もって感謝します !!!

4

1 に答える 1