我们刚刚发布了 Hibernate Search 6.0.0.Alpha7,这是仍在开发中的 6.0 分支的新版本。此版本主要恢复了索引字段类型的缺失参数,恢复了显式索引 API,并升级到 Elasticsearch 6.8 和 7.1。
Hibernate Search 6 入门指南
如果您想立即深入了解新的、令人耳目一新的 Hibernate Search 6,参考文档中的 入门指南 是一个好起点。
Hibernate Search 6 仍在开发中,其 API 与 Search 5 有很大不同。 有关此分支当前状态的更多信息,请参阅 hibernate.org 上 Search 6 的专门页面。 有关迁移的更多信息以及我们打算如何帮助您,请参阅 迁移指南。 |
新增功能
所有 Hibernate Search 5 字段类型参数都已实现
HSEARCH-3048 添加了对 searchable
、norms
和 termVectors
字段类型参数的支持,使 Search 6 与 Search 5 保持一致。
有关所有可用的字段类型参数的描述,请参阅 文档中的此部分。
显式索引写入 API 已恢复
HSEARCH-3049 介绍了用于显式写入索引的 API,作为自动索引的替代或补充。
API 与 Search 5 不同,但提供了类似的功能。
请参阅文档中的“显式索引”部分以获取更多信息。显式索引
向后不兼容的API更改
-
HSEARCH-3610:
Search.getSearchSession(Session)
已重命名为Search.session(Session)
。旧方法仍然可用,但将很快被删除。 -
HSEARCH-3591:
SearchQueryContext#sort
现在期望一个Function
参数,而不是一个Consumer
。 -
HSEARCH-3617:从排序DSL中移除了
by(SearchSort)
方法。 -
HSEARCH-3604:将“引用投影”的概念重命名为“实体引用投影”:在搜索DSL中,
asReference()
变为asEntityReference()
,而reference()
变为entityReference()
。现在,返回实体引用的搜索查询使用org.hibernate.search.mapper.orm.common.EntityReference
类型,而不是PojoReference
。 -
HSEARCH-3605:一些与桥梁、容器提取器和基于注解的实体映射相关的API类型已被移动以保持一致性。
-
HSEARCH-3587:
MarkerMapping#builder
已重命名为MarkerMapping#marker
。
版本升级
-
HSEARCH-3611:添加对Elasticsearch 6.8的支持
-
HSEARCH-3592:升级到Elasticsearch 7.1
-
HSEARCH-3595:升级到Hibernate ORM 5.4.3.Final
其他改进和错误修复
-
HSEARCH-2539:
MassIndexer.start()
现在返回一个CompletableFuture
而不是一个Future
。 -
HSEARCH-3203:
@DocumentId
现在可以在不是实体ID的属性上正确工作。 -
HSEARCH-3254:当构建字段排序时,
.onMissingValue().use()
现在对Lucene后端的字符串字段正常工作。 -
HSEARCH-3255:当构建字段排序时,
.onMissingValue().use()
现在对Elasticsearch后端的日期/时间字段正常工作。 -
HSEARCH-3616:当构建“匹配ID”谓词时,现在
matchingAny()
期望一个Collection<?>
而不是一个Collection<Object>
。 -
HSEARCH-3618:距离投影将不再导致丢失的命中。
-
HSEARCH-3192:
SearchPredicate
、SearchSort
和SearchProjection
现在可以从一个作用域实例安全地缓存和重用到另一个作用域:Hibernate Search将检查它们是否与新作用域兼容。
等等。有关自上次发布以来的完整更改列表,请参阅发行说明。
如何获取此版本
所有详细信息都可在hibernate.org上的专用页面上找到并保持最新。