使用休眠搜索,我无法搜索确切的句子。

例如,在我的索引中有以下句子:

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

10-06 09:58