Hibernate Search 的使用、何时使用以及为什么

Hibernate Search usage, when to use and why

我有一个简单的问题,因为今天是我第一次接触和使用Hibernate Search。有人可以简单地向我解释一下使用 Hibernate SearchJPA 注释有什么好处,使用它而不是 Spring Data 有意义吗(我的意思是 CRUD/JPA 存储库)? Hibernate Search 什么时候最赚钱?

例如我有简单的 SpringMVC webapp,带有用户和事件。用户应该能够通过排序选项查看页面上的事件列表。

他应该能够通过给定 "fields" 搜索特定事件。在那种情况下,我应该使用 CRUD/JPA 存储库还是使用 Hib Search?

提前致谢!

有很多关于此的好文章。可以找到一个示例 here。但是,如果您的大部分搜索是全文(模糊搜索、通配符、地理空间等),为了获得非 link 答案,您应该使用 Hibernate 搜索。否则,如果您对数据库连接更感兴趣,请排序等。只需使用 SQL.

如您所见,documentation, Hibernate Search主要用于全文搜索、聚类和索引结果而不仅仅是获取数据库表 自然提供 Spring data, HQLCriteria API...

所以在这种情况下 Hibernate Search 用于高性能文本搜索并扮演文本搜索引擎的角色 (Lucene, Sphinx...)。

你的情况:

因此,如果您正在开发一个基本的 Web 应用程序,您只需要从数据库中查询一些实体,您应该简单地使用 Spring dataJPQL、核心 Hibernate HQLCriteria API.