【发布时间】:2017-05-09 17:35:07
【问题描述】:
您好,这个查询曾经在 Hibernate Search 4.2 中工作,显然在升级到 v5 之后现在它不会拆分搜索词:
@Indexed
public class Foo {
@DocumentId
private Integer id;
.....
}
.....
QueryBuilder qb = fullTextEntityManager.getSearchFactory()
.buildQueryBuilder().forEntity(Foo.class).get();
org.apache.lucene.search.Query luceneQuery = qb
.keyword()
.onFields("id")
.matching("123 567")
.createQuery();
在 v4 中,Hibernate Search 将创建与示例中的 2 个 ID 中的任何一个匹配的查询,但在 v5 中,Hibernate Search 不再将“123 567”拆分为 2 个词,并将整个字符串视为单个值。相同类型的查询似乎会在任何其他不是 DocumentId 的字段上产生旧的 v4 行为。我已经阅读了迁移指南,但我没有看到任何关于这种行为变化的提及。您现在将如何重写此查询?
有人可以解释一下吗?谢谢。
【问题讨论】:
标签: java hibernate lucene hibernate-search