Hibernate Search 6.0.0.Alpha4 已发布 ,这是仍处于开发中的 6.0 分支的第四个 alpha 版本。 此版本主要的新特性包括添加"exists"谓词;通过绕过 DSL 和投影转换器(projection converters)或 override 分析器来改进 DSL;恢复 Elasticsearch AWS 集成以及将 Lucene 后端升级到 Lucene 8。
如果希望深入了解新的 Hibernate Search 6,建议阅读参考文档包含的 入门指南 。另外,Hibernate Search 6 仍在开发中,其 API 与 Search 5 有很大的不同。
有关此分支当前状态的更多信息,请参阅 hibernate.org 上 Search 6 的专用页面 。
有关迁移的更多信息,请参阅 迁移指南 。
在 Search DSL 中添加了对“exists”谓词的支持,允许根据给定字段是否存在非空值来过滤文档:
SearchQuery<MyEntity> query = searchSession.search(MyEntity.class).asEntity() .predicate(f -> f.exists().onField("someField")) .toQuery();
Hibernate Search 的作用是对数据库中的数据进行检索。它是Hibernate对著名的全文检索系统 Lucene的一个集成方案,作用在于对数据表中某些内容庞大的字段(如声明为 text 的字段)建立全文索引,这样通过 Hibernate Search 就可以对这些字段进行全文检索后获得相应的 POJO,从而加快了对内容庞大字段进行模糊搜索的速度(sql 语句中 like 匹配)。
源码下载: https://github.com/hibernate/hibernate-search/releases