インデックス内の特定の種類のドキュメントを照会しようとしています。 items
フィールドがnested
フィールドでElasticSearch:正確なネストされた配列を照会する方法
{
"id": 1,
"title": "My first Collection",
"items": [
{
"code": "SB",
"order": 1,
"random": "something random"
},
{
"code": "BB",
"order": 2,
"random": "something random"
},
{
"code": "FO",
"order": 3,
"random": "something random"
},
{
"code": "RA",
"order": 4,
"random": "something random"
},
{
"code": "FO",
"order": 5,
"random": "something random"
}
]
}
:
はのは、次のドキュメントを見てみましょう。
私は、正確なパターンに一致するすべての記事を照会したいと思います:
{
"items": [
{
"code": "SB",
"order": 1
},
{
"code": "BB",
"order": 2
},
{
"code": "FO",
"order": 3
},
{
"code": "RA",
"order": 4
}
]
}
照会文書はフィールドのこの正確な組み合わせを持つすべてのそれらの4つの項目を持っているでしょう。しかし、彼らはあまりにも多くを持つことができます。上の説明された文書はクエリと一致します。
ドキュメント全体、特にネストされたクエリの部分を検索しましたが、それを動作させる方法が見つかりませんでした。
私自身のアルゴリズム/スクリプトを実装することも可能ですか?
EDIT:
私は成功せず、次のことを試してみました:
{
"query": {
"nested": {
"path": "items",
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "items.code:SB AND items.order:1"
}
},
{
"query_string": {
"query": "items.code:BB AND items.order:2"
}
},
{
"query_string": {
"query": "items.code:FO AND items.order:3"
}
}
]
}
}
}
}
}
ありがとう、それは素晴らしいです! – Hammerbot
あなたは大歓迎です! – davide