2つのインデックスを結合クエリする方法
複数のインデックスを対象とした検索を行うには、ESのマルチインデックス検索機能を使用できます。以下に例を示します。
GET index1,index2/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"field1": "value1"
}
},
{
"match": {
"field2": "value2"
}
}
]
}
}
}
先ほどの例では、index1、index2の2つのインデックスを指定して、検索を行うようにしました。次に、mustの検索句では、フィールドとそれに対応する値を指定して、マッチングさせます。この例では、matchを2つ使って、index1とindex2のfield1とfield2のフィールドをマッチングさせました。
多重インデックスでの検索を行う場合は、両方のインデックスでフィールド名や型が一致していることを確認する必要があります。一致していないとクエリが失敗したり、不正確な結果が返される可能性があります。