如何使用Hibernate Search执行sql LIKE搜索?

时间:2014-09-01 07:13:04

标签: hibernate-search

我想执行LIKE搜索(例如,所有包含' abc'即%abc%的字词),但使用Hibernate Search API

有没有办法通过使用现有的分析仪来实现?

如果是,哪一个在性能方面更好; SQL或Hibernate搜索这种情况?

2 个答案:

答案 0 :(得分:1)

也许看看这个:

http://lucene.apache.org/core/4_10_2/core/org/apache/lucene/search/RegexpQuery.html?is-external=true

但请注意:

"请注意,此查询可能很慢,因为它需要迭代多个术语。为了防止极慢的RegexpQueries,Regexp术语不应该以表达式开头。*"

这应该包含在Hibernate-Search

答案 1 :(得分:0)

正确,Hibernate Search比使用SQL LIKE标准更有效。

StandardAnalyzer (org.apache.lucene.analysis.standard.StandardAnalyzer)非常适合,其他分析师会进行更高级的文本分割。