使用hibernate搜索时如何添加通配符查询。我正在使用Hibernate Search 3.1.1GA jar并且无法将我的jar升级到更高版本。在hibernate的高级版本中,我们可以使用Query Builder使用通配符。
我被困住了请帮助我。
答案 0 :(得分:1)
我假设您指的是Hibernate Search查询DSL。像这样:
Query luceneQuery = queryBuilder
.keyword()
.wildcard()
.onField("foo")
.matching("bar*")
.createQuery();
这个DSL确实不是Search 3.1.1的一部分,后来又添加了。在此版本中,您需要使用本机Lucene查询来构建查询。确实所有的搜索DSL都在为您构建这些本机查询。在您的情况下,您希望查看org.apache.lucene.search.WildcardQuery
,或者您可以使用org.apache.lucene.queryParser.QueryParser
来使用Lucene查询语法,该语法也允许使用通配符。