matchクエリは通常のテキスト入力を解析してから検索します。termクエリは入力を全文解析せず、インデックスされた1つのtermを要求します。
1つのドキュメントで違いを見る
titleが単語分割と小文字化を行うanalyzer付きのtextだとします。Blue Shoesはblueとshoesとしてインデックス化されます。次は代替の検索ボディです。
json
matchクエリは通常のテキスト入力を解析してから検索します。termクエリは入力を全文解析せず、インデックスされた1つのtermを要求します。
titleが単語分割と小文字化を行うanalyzer付きのtextだとします。Blue Shoesはblueとshoesとしてインデックス化されます。次は代替の検索ボディです。
ジュニアからシニアまで、詳細な回答付きのIT面接質問ライブラリ。
寄付するこれは入力を保存termと互換性のある単語に解析するので、ドキュメントが一致できます。
{"query":{"term":{"title":"Blue Shoes"}}}
こちらは1つのtermとしてBlue Shoesを要求します。その全体のtermは保存されていないため、示したマッピングでは一致しません。
keywordフィールドstatusでは、termでpublishedを指定し、その正確な状態を絞り込みます。大文字小文字を考える際は正規化設定を確認してください。
単語とフレーズも区別します。matchは自動的に全単語や元の順序を必須にしません。全単語が必要なら適切なoperatorを、語順も要件ならmatch_phraseを使います。