我正在使用Hibernate搜索应用程序,目前正在索引postgres数据库,并在创建了一些Lucene查询后,到目前为止一切正常。
我担心是否可以对多个实例使用Hibernate搜索(所有实例都具有相同的db结构)。那是因为我想将信息拆分为多个实例(不仅限于本地),并且避免将所有数据存储在一个实例中。
我认为有一种方法可以在同一个Lucene索引中包含多个实例,因此无论数据来自何处,我都可以查询该索引以获取和检索信息。但是我认为索引编制过程应该和往常一样。
当前最好的方法是使用Hibernate Search 6及其Elasticsearch集成。这个想法是,Hibernate Search而不是在本地建立索引,而是将其委托给一个Elasticsearch节点集群(如果您想要的话,它只能是一个节点)。集群对您的应用程序将完全透明。
如果您当前使用的是Hibernate Search 5,则由于工件ID,内部体系结构和API发生了变化,因此升级到6将需要一些工作。Hibernate Search 6目前也处于Beta版,因此API相当稳定,但是例如迁移指南尚未准备好。建议您在进行跳转之前,先阅读一下Search 6入门指南。
如果您希望保留在Search 5上,或者出于某种原因想要避免使用Elasticsearch,那么您唯一剩下的选择就是使用依赖于JMS或JGroups的Search 5的“集群”后端。但是,这些架构的设置很复杂,这就是我们在Search 6中(至少现在)放弃它们并专注于Elasticsearch集成的原因。请参阅此处的JMS和此处的JGroups。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句