hibernate-search-4.1.1.Final.jar とすべてのランタイム依存関係を使用して、休止状態の全文検索を作成しました。このアプリケーションにエラーはありません。しかし、クエリ DSL を使用しない私の Lucene クエリは結果を返しません。つまり、テーブル内の行は返されません。誰でも私を助けてください。
メイン検索プログラム この Java コードは、休止状態の全文検索を実行するために使用されます。
public class MainSearch {
public static void main(String args[]) {
Iterator iterator;
Session session = HibernateUtil.getSession();
// FullTextSession fullTextSession = Search.getFullTextSession(session);
FullTextSession fullTextSession = Search.getFullTextSession(session);
org.hibernate.Transaction tx = fullTextSession.beginTransaction();
// create native Lucene query unsing the query DSL
// alternatively you can write the Lucene query using the Lucene query
// parser
// or the Lucene programmatic API. The Hibernate Search DSL is
// recommended though
QueryBuilder qb = fullTextSession.getSearchFactory()
.buildQueryBuilder().forEntity(Book.class).get();
org.apache.lucene.search.Query query = qb.keyword()
.onFields("title", "subtitle", "authors.name").matching("cpp")
.createQuery();
// wrap Lucene query in a org.hibernate.Query
org.hibernate.Query hibQuery = fullTextSession.createFullTextQuery(
query, Book.class);
// execute search
List result = hibQuery.list();
iterator = result.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next() + " ");
}
System.out.println();
// Check list empty or not
if (result.isEmpty()) {
System.out.println("Linked list is empty");
}
tx.commit();
session.close();
}
}