Lucene.のWildcardQueryを使ってクエリを実行していますが、結果が見つからない理由がわかりません。以下、詳細です。
WildcardQuery を作成するコードは次のとおりです。Field Name :'Full Name' Value:'ABC123DD456CC' のレコードは Index Document として存在します。
BooleanQuery booleanQuery = new BooleanQuery();
for (IndexQueryField field : quickSearchFields)
{
Query query = new WildcardQuery(new Term(queryField.getFieldName(),"ABC*DD*CC"));
booleanQuery.add(query, BooleanClause.Occur.SHOULD);
}
コードの一部: クエリの実行:
Session hibernateSession = (Session) em.getDelegate();
FullTextSession session = SwitchSession.getFullTextSession(hibernateSession, specifyIndexName);
// Set Hibernate flushMode
session.setFlushMode(FlushMode.MANUAL);
// Ignore Hibernate Cache
session.setCacheMode(CacheMode.IGNORE);
FullTextQuery query = session.createFullTextQuery(booleanQuery,XXX.class);
List list = query.setFirstResult(1).setMaxResults(100).list();
リストが空です。「ABC123DD456CC」が Lucene ドキュメントに存在するはずです。WildcardQueryでやりたいだけです。どんな助けでも感謝します!