次のマッピングを使用して、配置されているオートコンプリート機能を使用しようとしています
analysis : filter : placename_ngram : max_gram=15, min_gram = 2, type = edge_ngram アナライザー :index: filter : 小文字, placename_ngram, tokenizer : キーワード placename_search : filter: 小文字: tokenizer キーワード
これは先行入力にはうまく機能しますが、「contains in」のような値を見つけようとすると、レコードが返されません。
「湖」でテキストクエリを実行している場合など。
貰うだけ
レイク...レイクウッド、
しかし、Smithtown Lake は取得できません
フィールドをマルチフィールドとして設定しており、ワイルドカードを使用して値を見つけることができますが、これが効率的かどうかはわかりません。
私は NGRAM を使用できると信じていますが、空白 (または単語) によるインデックス用語しか必要としないことを考えると、それはかなりのオーバーヘッドのようです。すべての浸透ではありません。
何かご意見は?
両方のトークナイザーを「標準」に変更すると....これらのレコードが見つかります...しかし、オートコンプリートが台無しになり、Lakを入力するとSmithtown Lakeが返されます.....(この場合、私はしたくない)。
ご協力いただきありがとうございます