简介
本指南的目的是帮助您将使用任何 7.1.x
版本的 Hibernate Search 的现有应用程序迁移到 7.2.x
系列的最新版本。
如果您认为有什么缺失或某些内容不起作用,请联系我们。联系我们。 |
如果您要从早期版本迁移,则应按照每个版本的迁移指南逐步迁移,从一个次要版本迁移到下一个次要版本。
对于 Hibernate Search 5 用户 请注意,自 Hibernate Search 5 以来,许多 API 已经发生了变化,有一些只是因为包发生了变化,另一些则是因为更基本的更改(例如不再在 Hibernate Search API 中使用 Lucene 类型)。 从 Hibernate Search 5 迁移时,建议您首先使用6.0 迁移指南迁移到 Hibernate Search 6.0,然后再迁移到更高版本(这将变得容易得多)。 |
要求
Hibernate Search 7.2.0.Final 的要求与 Hibernate Search 7.1 的要求基本相同,唯一区别是 Hibernate ORM 版本升级
-
JDK 11 或更高版本;
-
Lucene 9 作为其 Lucene 后端;
-
Elasticsearch 7.10+ 或 OpenSearch 1.3+ 作为其 Elasticsearch 后端;
-
Hibernate ORM 6.6.x 适用于 Hibernate ORM 集成。
API
Hibernate Search 7.2.0.Final 中的API与 Hibernate Search 7.1 向后兼容。
由于 Hibernate ORM 允许使用非 String
租户标识符,因此某些 Hibernate Search 方法已弃用并引入了替代方法
-
org.hibernate.search.mapper.orm.scope.SearchScope#workspace(String tenantId)
已弃用,建议使用org.hibernate.search.mapper.orm.scope.SearchScope#workspace(Object tenantId)
-
org.hibernate.search.mapper.orm.scope.SearchScope#massIndexer(String tenantId)
已弃用,建议使用org.hibernate.search.mapper.orm.scope.SearchScope#massIndexer(Object tenantId)
-
org.hibernate.search.mapper.pojo.standalone.scope.SearchScope#workspace(String tenantId)
已弃用,建议使用org.hibernate.search.mapper.pojo.standalone.scope.SearchScope#workspace(Object tenantId)
-
org.hibernate.search.mapper.pojo.standalone.scope.SearchScope#massIndexer(String tenantId)
已弃用,建议使用org.hibernate.search.mapper.pojo.standalone.scope.SearchScope#massIndexer(Object tenantId)
-
org.hibernate.search.mapper.pojo.standalone.session.SearchSession#tenantIdentifier()
已弃用,建议使用org.hibernate.search.mapper.pojo.standalone.session.SearchSession#tenantIdentifierValue()
-
org.hibernate.search.mapper.pojo.standalone.session.SearchSessionBuilder#tenantId(String tenantId)
已弃用,建议使用org.hibernate.search.mapper.pojo.standalone.session.SearchSessionBuilder#tenantId(Object tenantId)
-
org.hibernate.search.mapper.orm.outboxpolling.mapping.OutboxPollingSearchMapping#countAbortedEvents(String tenantId)
已弃用,建议使用org.hibernate.search.mapper.orm.outboxpolling.mapping.OutboxPollingSearchMapping#countAbortedEvents(Object tenantId)
-
org.hibernate.search.mapper.orm.outboxpolling.mapping.OutboxPollingSearchMapping#reprocessAbortedEvents(String tenantId)
已弃用,建议使用org.hibernate.search.mapper.orm.outboxpolling.mapping.OutboxPollingSearchMapping#reprocessAbortedEvents(Object tenantId)
-
org.hibernate.search.mapper.orm.outboxpolling.mapping.OutboxPollingSearchMapping#clearAllAbortedEvents(String tenantId)
已弃用,建议使用org.hibernate.search.mapper.orm.outboxpolling.mapping.OutboxPollingSearchMapping#clearAllAbortedEvents(Object tenantId)
此版本弃用了在多个搜索 DSL 方法中使用的 ValueConvert
枚举,并将其替换为新的 ValueModel
枚举。对于每个接受 ValueConvert
输入的已弃用方法,现在有一个替代方法,该方法改用接受 ValueModel
。在代码中将 ValueConvert.YES
替换为 ValueModel.MAPPING
,将 ValueConvert.NO
替换为 ValueModel.INDEX
,在代码中显式设置了值的地方。
SPI
Hibernate Search 7.2.0.Final 中的 SPI 向后兼容 Hibernate Search 7.1。
已删除的弃用方法
-
org.hibernate.search.mapper.pojo.scope.spi.PojoScopeDelegate#workspace(DetachedBackendSessionContext)
-
org.hibernate.search.mapper.pojo.scope.spi.PojoScopeDelegate#massIndexer(PojoMassIndexingContext,DetachedBackendSessionContext)
行为
Hibernate Search 7.2.0.Final 的行为向后兼容 Hibernate Search 7.1。
值得一提的是,在 HSEARCH-5062 中进行更改后,您可能会注意到 Hibernate Search 创建的加载实体的查询发生了变化。虽然我们希望引入的更改应该有助于提高性能,但如果您发现其中有任何问题,我们欢迎您联系我们告知我们。 |