2014-11-05 97 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