0

我是hibernate Search的新手,我发现很难形成Hibernateserach查询。我需要使用 IN 运算符来 List the String in Hibernate query 。谁能帮我解决这个问题。我当前的查询看起来像这样

String querystring="country:"+profile.getCountry()+" AND religion:"+profile.getReligion()+"  AND caste:"+profile.getCaste()+" AND gender:"+profile.getGender()+"AND profession : "+professions+" AND age:["+profile.getFromage()+" TO "+profile.getToage()+"]" ;

这里是专业是一个字符串列表。

问候, 阿伦

4

2 回答 2

0

Lucene 查询语言中没有IN运算符。您必须自己扩展字符串。使用查询解析器的另一种方法是使用 Lucene BooleanQuery并将查询的不同部分添加到其中,例如RangeQuery等。QueryParser 在后台为您创建了这个较低级别的查询。查看 Lucene API 和org.apache.lucene.search.Query的不同子类。不过,您仍然必须自己扩展集合字符串。最后但同样重要的是,您可以使用 Hibernate Search 查询 DSL。如果您想了解更多信息,请查看 Hibernate Search 的在线文档 -http://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#search-query-querydsl

于 2013-02-02T11:26:30.897 回答
-1

您需要将以下子句添加到查询 SELECT、FROM 和 WHERE。条件也缺少部分。例如这里是一个有效的查询。“从员工中选择 e,其中 e.country = :country 和 e.religion = :religion”...

于 2013-01-31T18:26:42.347 回答