Hibernate搜索:将Lucene索引持久化到数据库中

Hibernate搜索:将Lucene索引持久化到数据库中,hibernate,spring-data-jpa,hibernate-search,Hibernate,Spring Data Jpa,Hibernate Search,我正在开发一个SpringBoot应用程序,它使用SpringDataJPA作为持久层。我希望启用全文搜索,但由于一些限制,我希望将Lucene索引持久化到数据库中(而不是文件) 我已经阅读了,但是找不到将索引持久化到数据库中的示例。也从阅读中我明白了这是可能的,但我不知道从哪里开始 配置应该是什么样子?这绝对不可能是现成的 但是,如果您愿意自己实现一个解决方案,可以将其插入Hibernate搜索 我从未做过,但我可以提供一些建议 您将需要: org.apache.lucene.store.D

我正在开发一个SpringBoot应用程序,它使用SpringDataJPA作为持久层。我希望启用全文搜索,但由于一些限制,我希望将Lucene索引持久化到数据库中(而不是文件)

我已经阅读了,但是找不到将索引持久化到数据库中的示例。也从阅读中我明白了这是可能的,但我不知道从哪里开始


配置应该是什么样子?

这绝对不可能是现成的

但是,如果您愿意自己实现一个解决方案,可以将其插入Hibernate搜索

我从未做过,但我可以提供一些建议

您将需要:

  • org.apache.lucene.store.Directory的自定义实现:这是lucene和存储解决方案(在您的例子中是数据库)之间的适配器。看见这是关于Lucene的一个非常古老的版本,但至少它是一个起点
  • org.hibernate.search.store.DirectoryProvider的自定义实现:该组件在启动时配置并创建
    目录
  • 一些配置告诉Hibernate Search使用您的
    DirectoryProvider
    。看
在中也应该可以这样做,尽管目录提供程序接口不同:
org.hibernate.search.backend.lucene.lowlevel.directory.spi.DirectoryProvider