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のフィールドをマッチングさせました。

多重インデックスでの検索を行う場合は、両方のインデックスでフィールド名や型が一致していることを確認する必要があります。一致していないとクエリが失敗したり、不正確な結果が返される可能性があります。

bannerAds