Solr 1.4企業級搜索服務器建議在覈心副本上進行大量更新,然後將其交換到主核心。我下面這些步驟:如何使用現有數據創建solr內核?
- 創建準備的核心:http://localhost:8983/solr/admin/cores?action=CREATE&name=prep&instanceDir=main
- 執行索引更新,然後提交/優化上準備的核心。
- 交換主要和準備的核心:http://localhost:8983/solr/admin/cores?action=SWAP&core=main&other=prep
- 卸載準備內核:http://localhost:8983/solr/admin/cores?action=UNLOAD&core=prep
我遇到的問題是,在步驟1中創建的核心不具有任何數據。如果我要對所有內容和廚房水槽進行完整索引,那就沒有問題了,但如果我只是想更新文檔的(大)子集 - 那顯然不起作用。
(我能合併的核心,但我想要做的就是擺脫任何刪除的文件,而不試圖使它們的列表一部分。)
有一些標誌來創建操作我錯過了?細節上,有點稀疏。
可能的解決方案:複製
有人建議使用solr-user進行復制。在這種情況下使用它會(我的理解)需要以下步驟:
- 創建一個新的PREP核心基於關閉主核心的配置
- 改變主核心的配置成爲主
- 更改PREP內核的配置爲從屬
- 原因/等待同步?
- 將PREP內核的配置更改爲不再是從設備
- 執行索引更新,然後在PREP內核上執行/優化。
- 交換PREP和主芯子
一個簡單的基於複製的設置將配置一個永久PREP核心,始終是主人。 MAIN核心(在需要的任意數量的服務器上)然後可以是PREP核心的從屬設備。索引可能會在PREP核心上發生,儘可能快或必要時緩慢。
可能的解決方案:永久PREP核心和雙更新
另一個想法我想出了是這樣的(也包括永久PREP核心):
- 執行索引更新,然後提交/優化上PREP核心。
- 交換PREP和MAIN核心。
- 重新執行索引更新,然後提交/優化現在的PREP內核。它現在與MAIN核心(理論上)具有相同的數據,並且將在下一次索引操作中準備好。
我認爲程序是用於重建索引的一切。你用什麼來索引? DIH還是自定義進程? –
自定義進程。 – stannius
您是否嘗試過更新相同內核上的文檔?它真的表現如此糟糕嗎? –