Hibernate Search 是一个库,它通过自动索引实体,将 Hibernate ORM 与 Apache Lucene 或 Elasticsearch 集成,以启用高级搜索功能:全文搜索、地理空间、聚合等。更多信息,请参阅 hibernate.org 上的 Hibernate Search。

我们刚刚发布了 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 添加了对 searchablenormstermVectors 字段类型参数的支持,使 Search 6 与 Search 5 保持一致。

有关所有可用的字段类型参数的描述,请参阅 文档中的此部分

显式索引写入 API 已恢复

HSEARCH-3049 介绍了用于显式写入索引的 API,作为自动索引的替代或补充。

API 与 Search 5 不同,但提供了类似的功能。

请参阅文档中的“显式索引”部分以获取更多信息。显式索引

向后不兼容的API更改

  • HSEARCH-3610Search.getSearchSession(Session)已重命名为Search.session(Session)。旧方法仍然可用,但将很快被删除。

  • HSEARCH-3591SearchQueryContext#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-3587MarkerMapping#builder已重命名为MarkerMapping#marker

文档

文档仍在持续增长

  • 所有API都提供了javadoc(HSEARCH-3367)。

  • 文档中引用了所有可用的谓词排序投影,并且至少有一个示例。

  • 新引入的功能,如写API,正在逐步进行文档编制。

版本升级

其他改进和错误修复

  • HSEARCH-2539MassIndexer.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-3192SearchPredicateSearchSortSearchProjection现在可以从一个作用域实例安全地缓存和重用到另一个作用域:Hibernate Search将检查它们是否与新作用域兼容。

等等。有关自上次发布以来的完整更改列表,请参阅发行说明

如何获取此版本

所有详细信息都可在hibernate.org上的专用页面上找到并保持最新。

反馈、问题、想法?

要取得联系,请使用以下渠道


返回顶部