0

我最近将hibernate search从5.x版本升级到6.x版本,遇到了一些问题。大多数语法都可以通过参考文档来处理,但是有一个类似的语法不能直接处理。官方文档也给出了说明,但是文档内容不够详细,无法完成。这是我5.x版本的语法queryBuilder.moreLikeThis().comparingFields("name").toEntity(product).createQuery() 但是我想用6.x版本暂时不知道怎么改造

希望知道的人解答一下,谢谢!

4

1 回答 1

0

如迁移指南中所述moreLikeThis,Hibernate Search 6 中不再存在谓词。

但是,如果它只是一个字段,那么您实际上并不需要moreLikeThis谓词开始。

这应该返回与您当前代码相同的结果:

SearchSession session = Search.session(entityManager);
List<Product> hits = session.search(Product.class)
        .where(f -> f.match().field("name").matching(product.getName()))
        .fetchHits(20);
于 2022-01-13T10:00:25.430 回答