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

我们刚刚发布了Hibernate Search 6.2.0.CR1,这是Hibernate Search下一个次要版本的候选发布版本。

此版本特别引入了针对@IndexedEmbedded的新excludePaths过滤器,以及针对@ObjectProjectionincludePaths/includeDepth/excludePaths过滤器。

6.2.0.CR1还包括与OpenSearch 2.8的兼容性、Hibernate ORM 5.6.15.Final的升级、-orm6工件升级到Hibernate ORM 6.2.5.Final以及其他错误修复和改进。

新功能

要查看自6.1以来的所有新功能和改进的摘要,请访问hibernate.org上的专用页面

依赖项升级

Hibernate ORM (HSEARCH-4880/HSEARCH-4875/HSEARCH-4869)

Hibernate Search现在依赖于Hibernate ORM 5.6.15.Final作为其主要工件,以及6.2.5.Final作为-orm6工件。Hibernate ORM 6.0和6.1不再被认为是兼容的。

Elasticsearch (HSEARCH-4857)

Elasticsearch后端现在可以与Elasticsearch 8.8以及其他已经兼容的版本一起工作。

OpenSearch (HSEARCH-4870)

Elasticsearch后端现在可以与OpenSearch 2.8以及其他已经兼容的版本一起工作。

其他

@IndexedEmbedded(excludePaths = …​)

HSEARCH-1182中,@IndexedEmbedded注解现在公开了excludePaths属性,允许包含所有路径,仅选择性地排除少数路径,与之前通过includePaths选择性地包含路径的方法相反。

有关更多信息,请参阅参考文档的本节

@ObjectProjection(includeDepth = …​)/@ObjectProjection(includePaths = …​)/@ObjectProjection(excludePaths = …​)

HSEARCH-4725中,@ObjectProjection注解现在公开了includeDepth/includePaths/excludePaths属性,这特别允许打破嵌套对象投影的循环。

有关更多信息,请参阅参考文档的本节

其他改进和错误修复

  • HSEARCH-4616:为了清晰起见,“自动索引”在Hibernate Search及其文档中被重命名为更明确的名称。因此

    • hibernate.search.automatic_indexing.enabled现在已被弃用,改用hibernate.search.indexing.listeners.enabled

    • hibernate.search.automatic_indexing.synchronization.strategy现在已被弃用,改用hibernate.search.indexing.plan.synchronization.strategy

  • HSEARCH-4866hibernate.search.automatic_indexing.enable_dirty_check现在已被弃用,没有替代方案。在未来的版本中,在考虑是否触发重新索引时,将始终执行脏检查。

  • HSEARCH-4877:(Infinispan)现在在Search DSL和id投影中应用提供的标识符桥接器。

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

如何获取此版本

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

入门,迁移

对于新应用程序,请参阅以下指南以了解Hibernate ORM集成

对于现有应用程序,假设您还升级了依赖项,Hibernate Search 6.2是6.1的即插即用替代品。弃用的配置和API的信息包含在迁移指南中。

反馈,问题,想法?

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


返回顶部