【问题标题】:Hibernate search with infinispan DirectoryProvider使用 infinispan DirectoryProvider 进行休眠搜索
【发布时间】:2014-06-07 09:26:15
【问题描述】:
关于使用 infinispan 作为在生产环境中进行休眠搜索的目录提供程序有什么建议吗?
我们的生产环境集群只有两台服务器在运行,这意味着 infinispan 在我们的例子中只有两个节点..
所以我很困惑哪个是基于文件的索引还是基于 infinispan 的索引?
在这种情况下是否可以使用 mongodb 作为目录提供程序?
有人在他们的项目中使用过 mongodb + hibernate 搜索吗?
谢谢
苏雷什
【问题讨论】:
标签:
hibernate
mongodb
production-environment
hibernate-search
infinispan
【解决方案1】:
两个目录提供者的区别:
本质上是第一个设置更简单,因为它不需要您配置 Infinispan,但是索引会定期同步,而第二个提供实时复制。
您不能将索引直接存储在 MongoDB 中,但可以将 Infinispan 配置为将其数据存储到 CacheStore 以实现持久性(否则它仅在每个服务器节点的内存中)。有一个 CacheStore 实现 - 其中包括许多其他实现 - 可以在 MongoDB 中编写。
关于第二个问题,将 Hibernate Search 与 MongoDB 一起使用:Hibernate Search 与基于 Hibernate 的应用程序一起使用,因此如果您使用 Hibernate OGM 将实体存储在 MongoDB 中,它就可以工作。
或者,如果您不想使用 Hibernate 编程模型,您也可以直接使用 Infinispan 来存储您的数据,并通过缓存存储将其持久化到 MongoDB 中。 Infinispan 也支持 Hibernate Search,在这种情况下称为 Infinispan Query,但使用相同的注释。