如何将 Spring 4 与 Hibernate Search 5 集成?
How to Integrate Spring 4 with Hibernate Search 5?
我已经集成了Spring MVC+ Spring Framework 4 + Hibernate ORM 4.
现在我想在休眠搜索中使用全文搜索。
那么,如何将 Spring Framework 4 与 Hibernate Search 5 集成?
根据 official documentation 这应该很简单:
- 将 Hibernate Search JAR 添加到应用程序。
- 将
<property name="hibernate.search.default.directory_provider" value="filesystem"/>
和 <property name="hibernate.search.default.indexBase" value="/var/lucene/indexes"/>
添加到 Hibernate 配置中。或者,您可以 choose a different provider.
- 注释要索引的实体和字段。
- 如果直接使用 Hibernate Session,获取
FullTextSession
作为 Search.getFullTextSession(sessionFactory.getCurrentSession())
,或者如果使用 EntityManager,获取 FullTextEntityManager
作为 Search.getFullTextEntityManager(entityManager)
。假设使用Spring. 注入sessionFactory
或entityManager
- 开始搜索。实体实例在持久化时自动建立索引,因此生成搜索索引不需要特殊步骤。
试一试,如果您遇到任何具体问题,可以将它们作为单独的问题提出。
我已经集成了Spring MVC+ Spring Framework 4 + Hibernate ORM 4.
现在我想在休眠搜索中使用全文搜索。
那么,如何将 Spring Framework 4 与 Hibernate Search 5 集成?
根据 official documentation 这应该很简单:
- 将 Hibernate Search JAR 添加到应用程序。
- 将
<property name="hibernate.search.default.directory_provider" value="filesystem"/>
和<property name="hibernate.search.default.indexBase" value="/var/lucene/indexes"/>
添加到 Hibernate 配置中。或者,您可以 choose a different provider. - 注释要索引的实体和字段。
- 如果直接使用 Hibernate Session,获取
FullTextSession
作为Search.getFullTextSession(sessionFactory.getCurrentSession())
,或者如果使用 EntityManager,获取FullTextEntityManager
作为Search.getFullTextEntityManager(entityManager)
。假设使用Spring. 注入 - 开始搜索。实体实例在持久化时自动建立索引,因此生成搜索索引不需要特殊步骤。
sessionFactory
或entityManager
试一试,如果您遇到任何具体问题,可以将它们作为单独的问题提出。