2014-11-05 78 views
0

我有一个数据库正在被两个应用程序Appl 1和Appl 2使用。应用程序都在数据库上执行读/写/更新。相同的Hibernate搜索多个应用程序的Lucene索引

我正在使用hibernate搜索为我的搜索建立索引。

我的问题是:

  1. 两个APPL1和Appl2驻留在不同的服务器上,因此保持有自己的索引副本,他们的本地文件系统上。
  2. 现在因为这样,如果Appl1执行任何更新/删除操作,Appl2不会反映更改,反之亦然。

是否有任何方式,应用程序索引得到更新,其中任何一个执行任何操作,或者我可以创建一个共同的索引目录,这两个应用程序使用。

回答

3

查看Hibernate Search文档中的主/从设置。这个想法是,所有的更新都被发送到一个主索引来应用它们,而从索引只是使用一个本地索引处理搜索请求,该索引会定期与主索引同步。

或者,您可以查看基于Infinispan的目录提供程序。再看一下在线文档。

+0

请记住,通过共享目录进行主/从设置仅适用于异步。对于同步行为,您需要将主/从后端与Infinispan DirectoryProvider组合起来。 – Sanne 2014-11-06 11:47:47

+0

@Sanne所以我猜如果我需要接近索引的实时更新,我需要使用Infinispan DirectoryProvider的主/从后端。我的理解是对的吗? – 2014-11-07 09:11:35