Hibernate Search 6.0.0.Alpha7 发布

Hibernate Search 6.0.0.Alpha7 发布了,这是 6.0 分支的第 7 个 alpha 测试版本,该版本主要是恢复索引字段类型参数,恢复显式的索引 API,升级到 Elasticsearch 6.8 和 7.1.


实现所有 Hibernate Search 5 字段类型参数

HSEARCH-3048 added support for the searchable, norms and termVectors field type parameters, bringing Search 6 on par with Search 5.

See this section of the documentation for a description of all available field type parameters.

恢复显式的写索引 API

HSEARCH-3049 introduced APIs for explicit writes to indexes, as an alternative or complement to automatic indexing.

The APIs are different from Search 5, but provide similar features.

See the "Explicit indexing" section of the documentation for more information.

向后不兼容的 API 调整

  • HSEARCH-3610: Search.getSearchSession(Session) was renamed to Search.session(Session). The old method is still available, but will be removed soon.

  • HSEARCH-3591: SearchQueryContext#sort now expects a Function parameter instead of a Consumer.

  • HSEARCH-3617: The by(SearchSort) method was removed from the sort DSL.

  • HSEARCH-3604: The concept of "reference projection" has been renamed to "entity reference projection": in the search DSL, asReference() became asEntityReference() and reference() became entityReference(). Search queries returning references to entities now use the org.hibernate.search.mapper.orm.common.EntityReference type instead of PojoReference.

  • HSEARCH-3605: Some API types related to bridges, container extractors and annotation-based entity mapping have been moved for the sake of consistency.

  • HSEARCH-3587: MarkerMapping#builder was renamed to MarkerMapping#marker.


  • There is javadoc on all APIs (HSEARCH-3367).

  • Every available predicate, sort and projection is referenced and has at least one example in the documentation.

  • Newly reintroduced features such as the write APIs are being documented progressively.

Version upgrades

Other improvements and bug fixes

  • HSEARCH-2539: MassIndexer.start() now returns a CompletableFuture instead of a Future.

  • HSEARCH-3203: @DocumentId now works correctly on properties that are not the entity ID.

  • HSEARCH-3254: When building a field sort, .onMissingValue().use() now works properly for string fields with the Lucene backend.

  • HSEARCH-3255: When building a field sort, .onMissingValue().use() now works properly for date/time fields with the Elasticsearch backend.

  • HSEARCH-3616: When building a "match id" predicate, the matchingAny() now expects a Collection instead of Collection

  • HSEARCH-3618: Distance projection will no longer lead to missing hits.

  • HSEARCH-3192: SearchPredicate, SearchSort and SearchProjection can now safely be cached and reused from one scope instance to another: Hibernate Search will check that they are compatible with the new scope.

完整列表请看 release notes.