web-dev-qa-db-ja.com

query_stringとmulti_matchの違いは何ですか?

このクエリを実行する場合:

{
  "query_string" : {
    "query" : "text",
    "fields": ["field1", "field2"]
  }
}

-

{
  "multi_match" : {
    "query" : "text",
    "fields": ["field1", "field2"]
  }
}

違いはなんですか?いつ一方を使用し、いつもう一方を使用するのですか?

13
Félix Sanz

query_stringはテキストを解釈するためのLucene構文をサポートします 、ここで multi_matchは指定された"text"をリストされたフィールドのインデックス値と照合しようとします

したがって、クエリ文字列ははるかに強力ですが、/によって文字列の一部が正規表現として解釈されるなど、予期しないシナリオが発生する可能性もあります。

DrTechは、2つ以上を示す非常に優れた仕事をしています この回答では

16
pickypg