大量の都市名にオートコンプリート テキスト ボックスを作成しようとしています。検索機能は次のとおりです。複数の単語からなるフレーズに対して「で始まる」検索が必要です。たとえば、ユーザーが「chicago he」と入力した場合、「Chicago Heights」などの場所のみを返す必要があります。
これにはLuceneを使用しようとしています。これをどのように実装する必要があるかを理解するのに問題があります。
私はうまくいくはずのアプローチだと思うものを試しました:
KeywordAnalyzer で場所のインデックスを作成しました (TOKENIZED と UN_TOKENIZED の両方を試しました):
doc.Add(new Field("Name", data.ToLower(), Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO));
そして、次の方法でそれらを検索します(他のさまざまなクエリ/アナライザーなども試しました):
var luceneQuery = new BooleanQuery();
var wildcardQuery = new WildcardQuery(new Term("Name", "chicago hei*"));
luceneQuery.Add(wildcardQuery, BooleanClause.Occur.MUST);
結果が出ません。アドバイスをいただければ幸いです。