我正在尝试使用hibernate-search-4.3.0.Final.jar创建一个休眠的全文本搜索
此应用程序中没有错误,但是我的Lucene查询取消查询DSL的查询不会返回任何结果。
我的意思是它不返回表中的任何行。谁能帮帮我吗。
这是我的功能:
OgmConfiguration cfgogm=new OgmConfiguration();
cfgogm.configure("hibernate.cfg.xml");
serviceregistry=new ServiceRegistryBuilder().applySettings(cfgogm.getProperties()).buildServiceRegistry();
sessionfactory=cfgogm.buildSessionFactory(serviceregistry);
Session session= sessionfactory.openSession();
FullTextSession fulltextsession= Search.getFullTextSession(session);
QueryBuilder querybuilder=fulltextsession.getSearchFactory().buildQueryBuilder().forEntity(User.class).get();
org.apache.lucene.search.Query lucenequery=querybuilder.keyword().onField("IdU").matching("96645").createQuery();
org.hibernate.search.FullTextQuery fulltextquery=fulltextsession.createFullTextQuery(lucenequery, User.class);
List result=fulltextquery.list();
System.out.println(result.toString());
这是我的POJO课:
@Entity
@Table(name="Users")
@Indexed
public class User {
@Id
@GeneratedValue(generator="mongodb_uuidgg")
@Field(index = Index.YES,analyze = Analyze.NO,store = Store.NO)
private String _id;
@Column(name="City")
@Field(index = Index.YES,analyze = Analyze.NO,store = Store.NO)
private String city;
@Column(name="UserID")
@Field(index = Index.YES,analyze = Analyze.NO,store = Store.NO)
private int IdU;
...
最佳答案
我将使用Luke来验证您的查询是否实际上从索引返回了您想要的内容。
[编辑...]
如果Luke显示索引为空,则需要查看索引设置。