使用 Hibernate Search,我无法搜索到确切的句子。
例如,我的索引中有以下句子:
1 - New York weather
2 - New York
我只想获取与“New York”匹配的第 2 行,因此我进行以下查询:
qb.phrase().onField("label").sentence("New York").createQuery()
但是这个查询同时返回“纽约”和“纽约天气”,也就是说,当我想像等号一样使用它时,我的句子就像前缀一样使用。
如何使用 hibernate 搜索来做到这一点?
最佳答案
在 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("纽约").createQuery()
还可以尝试使用本问题中提到的 Lucene API。
Finding exact match using Lucene search API
您的用例是直接的,可能不保证 Hibernate Search 查询 DSL
关于java - hibernate 搜索: exact phrase matching,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33218294/