1

キーと値のペアの配列にインデックスを付けています。キーは常に UUID であり、値はユーザーが入力した値です。私はドキュメントをクロールしてきましたが、このシナリオでクエリを実行する方法を正確に理解できません例のスキーマ:

{
  "id": 1,
  "owner_id": 1,
  "values": [
    { "key": "k3kfa23rewf", "value": "the red card" },
    { "key": "23a2dd23108", "value": "purple balloons" },
  ]
},
{
  "id": 2,
  "owner_id": 1,
  "values": [
    { "key": "k3kfa23rewf", "value": "the blue card" },
    { "key": "23a2dd23108", "value": "purple balloons" },
  ]
}

クエリを実行したい:

{ "term": { "owner_id": 1 },
{ "term": { "values.key": "23a2dd23108" }, "match": { "values.value": "purple" } },
{ "term": { "values.key": "k3kfa23rewf" }, "match": { "values.value": "blue" } }

ID 2 のレコードが返されるようにします。助言がありますか?

4

1 に答える 1

2

ネストされたドキュメントを使用するには、ここが必要だと思います。

そうすることで、 owner_id にTermQueryを含む Must 句と、 および に Term および Match クエリを含むネストされたクエリを含む 2 つの must 句を使用して、 BoolQueriesを作成できます。values.keyvalues.value

それは役に立ちますか?

于 2012-12-27T15:00:21.257 に答える