使用休眠搜索,我无法搜索确切的句子。
例如,在我的索引中有以下句子:
1 - New York weather
2 - New York
我只想获得与“纽约”匹配的第2行,因此我进行了以下查询:
qb.phrase().onField("label").sentence("New York").createQuery()
但是此查询同时返回“纽约”和“纽约天气”,即当我想将其用作等号时,我的句子用作前缀。
如何使用休眠搜索做到这一点?
最佳答案
在5.1.2.4中,它提到了“倾斜因子”
https://docs.jboss.org/hibernate/search/4.1/reference/en-US/html_single/#search-query-querydsl
尝试倾斜系数为零?
qb.phrase()。withSlop(0).onField(“ label”)。sentence(“ New York”)。createQuery()
也请尝试使用此问题中提到的Lucene API。
Finding exact match using Lucene search API
您的用例很简单,可能不保证Hibernate Search查询DSL