いくつかのデータを使用してインデックスを作成しました。現在、WildcardQueryを使用してこのデータを検索しています。インデックスに登録されたドキュメントProduct Code
には、検索対象のフィールド名があります。
以下は、クエリの作成と検索に使用しているコードです。
Term productCodeTerm = new Term("Product Code", "*"+searchText+"*");
query = new WildcardQuery(productCodeTerm);
searcher.search(query, 100);
searchText変数には、インデックスの検索に使用される検索文字列が含まれています。が'jf'の場合searchString
、次の結果が得られます。
JF32358
JF5215
JF2592
さて、を使用して25, or f2 or f3
、またはのみを使用する以外の何かを使用して検索しようとするとj,f,jf
、クエリはヒットしません。
なぜそれが起こっているのか理解できません。検索がこのように動作している理由を誰かが理解するのを手伝ってもらえますか?