繁体   English   中英

如何使用带有Lucene搜索的Hibernate搜索整数值?

[英]How to search integer value using Hibernate with Lucene Search?

在Integer字段上搜索时无法获取结果,并且数据仍然存在。 有人能找出我在做什么错吗?

 int status = 0;
 FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(em);
 QueryBuilder qb = fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(ProcessActivity.class).get();
 System.out.println(""+status);
 org.apache.lucene.search.Query luceneQuery = qb.keyword().onFields("status").matching(status).createQuery();

 FullTextQuery fullTextQuery = fullTextEntityManager.createFullTextQuery(luceneQuery, ProcessActivity.class);
 fullTextQuery.setFirstResult(0).setMaxResults(recordMaxLength);
 return fullTextQuery.getResultList();

//Following is main Entity text
@Fields({ @Field(index = Index.YES, analyze = Analyze.NO), @Field(name = "status", index = Index.YES, analyze = Analyze.NO) })
@Column(name = "STATUS")
public int getStatus() {
   return status;
}

使用NumericRangeQuery如

NumericRangeQuery.newIntRange("status", 1, value, value, true, true)

或按字符串阶段,例如

status[value TO value]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM