2012-07-19 86 views
0

我想創建一個數據庫Web發佈者。Solr搜索複製的MySQL數據庫

Solr搜索功能完全符合我的需求(分面搜索,全文搜索等)。

我的問題是我需要數據在網上同步。

我讀過MySQL數據庫必須導入Solr。

我打算使用一個源MSSQL數據庫,在Web服務器上的MySQL數據庫上進行復制。我需要在這個數據庫上使用Solr。

是否有解決方案,以便複製SQL數據庫上的更改可以自動在Solr索引上回顯?每次修改時我都不想導入整個數據庫,這會使我的產品使用起來很複雜。

謝謝。

回答

0

你不需要每次索引完整分貝,這就是Delta import的目的。您只需將其配置爲在需要的時候導入deltas。

+0

謝謝你我會試試這個。 – user1537647 2012-07-20 08:46:20

0

您可以使用DataImportScheduler來保持數據同步。 這是保持Solr索引同步的最常用方法。

還有其他一些方法,您可以在您的數據庫中設置一個觸發器來觸發Solr的REST服務,以反映所有插入/更新/刪除文檔的更改。另外,由於db(通常)用於處理某些應用程序,因此可以設置一個Filter(javax.servlet for Java Web應用程序)來攔截請求,並在Solr到達數據庫之前將它們推送到Solr。

+0

好的,謝謝你的回答我會探索這些解決方案!過濾器的概念是間斷性的,但在我的情況下,數據更改是在客戶端服務器數據庫上執行的(因爲客戶端管理數據庫並公佈它,但他們需要過濾在網絡上公開之前公開的信息),以及而不是複製到將使用solr應用程序的Web服務器數據庫上。所以我認爲這不會有用。我會嘗試DataimportScheduler。 – user1537647 2012-07-20 08:45:46

+0

和「觸發想法」? – 2012-07-20 11:08:10