Elasticsearchで曖昧な検索を行うためには、クエリ文字列を使用します。以下に、曖昧な検索クエリ文字列の使用方法といくつかのコード例を示します。
-
単語の一部を含む検索:
GET /index/_search { "query": { "match": { "field": { "query": "キーワードの一部", "fuzziness": "AUTO" } } } }
上記の例では、指定したフィールド内のキーワードの一部を含むドキュメントが返されます。
fuzziness
パラメータをAUTO
に設定することで、曖昧な検索が有効になります。 -
類似した単語を含む検索:
GET /index/_search { "query": { "match": { "field": { "query": "キーワード", "fuzziness": "2" } } } }
上記の例では、指定したフィールド内で指定したキーワードに似た単語を検索します。
fuzziness
パラメータの値を増やすことで、より類似した単語も含めた検索が可能になります。 -
曖昧なフレーズ検索:
GET /index/_search { "query": { "match_phrase": { "field": { "query": "キーワードの一部", "slop": 2 } } } }
上記の例では、指定したフィールド内で指定したフレーズの一部を含むドキュメントを検索します。
slop
パラメータを設定することで、フレーズ内の単語の順序や位置に対して柔軟なマッチングが行われます。
これらは、Elasticsearchで曖昧な検索を行うための基本的な方法です。詳細な制御やパフォーマンスの最適化については、公式ドキュメントや関連する情報源を参照してください。