我想执行LIKE搜索(例如,所有包含' abc'即%abc%的字词),但使用Hibernate Search API
。
有没有办法通过使用现有的分析仪来实现?
如果是,哪一个在性能方面更好; SQL或Hibernate搜索这种情况?
答案 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)非常适合,其他分析师会进行更高级的文本分割。