Hibernate搜索:精确的短语匹配

时间:2015-10-19 15:27:50

标签: java hibernate lucene hibernate-search

使用Hibernate Search,我无法搜索确切的句子。

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

1 - New York weather
2 - New York

我想只获得与“纽约”相匹配的第2行,因此我进行了以下查询:

qb.phrase().onField("label").sentence("New York").createQuery()

但是这个查询返回“纽约”和“纽约天气”,即当我想像平等一样使用它时,我的句子被用作前缀。

如何使用hibernate搜索执行此操作?

1 个答案:

答案 0 :(得分:1)

在5.1.2.4中,它提到了“斜率因子”

https://docs.jboss.org/hibernate/search/4.1/reference/en-US/html_single/#search-query-querydsl

尝试slop因子为零?

qb.phrase()。withSlop(0).onField(“label”)。sentence(“New York”)。createQuery()

也尝试使用此问题中提到的Lucene API。

Finding exact match using Lucene search API

您的用例是直接的,可能不保证Hibernate Search查询DSL