私たちはelastic-searchでフレーズを一致させたいユースケースを持っていますが、フレーズクエリに加えて、部分フレーズも検索したいと考えています。エラスティックサーチでフレーズを拡張可能な接頭辞と接尾辞に一致させるにはどうすればよいですか?
例:
検索フレーズ:「あなたを歓迎します」または「あなたをlcome」や「ヨーヨー歓迎」または「lcomeよ」これは、フレーズを含む文書に一致する必要があります:
「あなたは歓迎します」が
01 "私たちはあなたを歓迎" "あなたは歓迎する" "私たちはあなたを歓迎"つまり、部分的な部分文字列としてのフレーズと特定の設定可能な長さに拡張可能な接頭辞と接尾辞を含む結果をGoogleに返す機能を追加したフレーズクエリを実行して、単語の順序を維持したいとします。 弾性で私は何か 'match_phrase_prefix'のようなものを見つけましたが、特定の接頭辞で始まるフレーズにのみ一致します。 D接頭辞で始まる
例のリターン結果:
$ curl -XGET localhost:9200/startswith/test/_search?pretty -d '{
"query": {
"match_phrase_prefix": {
"title": {
"query": "d",
"max_expansions": 5
}
}
}
}'
私も接尾辞のためにこれを達成できる方法はありますか?
しかし、このソリューションでは、 "lcome you"のようなものを検索する際に、 "welcome"の部分文字列である "lcome"というトークンが見つかりません。 – user2530619
申し訳ありませんが、部分一致が欲しいということは明確ではありませんでした。 'ngram'トークンフィルタをシングルワンの代わりに使うか補完することで解決策を改善することができます。 – Val