名前のバリエーションを持つ名前の Lucene インデックスを検索するクエリを作成しようとしています。インデックスは Lucene.NET バージョン 2.9.2 で構築されました
ユーザーは、たとえば「マーガレット ホワイト」と入力します。名前バリアント オプションがないと、クエリは "Margaret White"~1 になり、機能します。
これで、姓と名の両方に対して名前のバリエーションを検索して、拡張リストを作成できます。例えば。この場合 (リストは 100 以上になる場合があるため、例として一部のみを含めます)、
マーガレット / マーグレット・ホワイト / ホワイト
クエリ「マーガレット ホワイト」~1 OR 「マーガレット ホワイト」~1 OR 「マーガレット ホワイト」~1 OR 「マーガレット ホワイト」~1
正しい結果が得られますが、100 x 100 のバリアントの組み合わせが考えられる場合、クエリ文字列は控えめに言っても面倒です。
よりコンパクトなクエリを実現するためにさまざまな方法を試しましたが、何もうまくいかないようです。
誰でもポインタや代替アプローチを教えてもらえますか? インデックス作成プロセスを制御できますが、その段階で何かできることはないでしょうか?
ロジャーを見てくれてありがとう