2010-09-04 105 views
0

有沒有一種方法可以根據某種規則從單個索引文件生成單獨的索引文件,而無需再次重新索引文檔?拆分Lucene索引文件而不重新索引

原始索引包含未存儲的字段,這意味着我無法讀取文檔並將它們添加到目標索引。

在SO中提到的一個選項是將索引克隆到許多中,然後刪除不屬於該索引的文檔。我正在尋找更好的解決方案。

回答

0

SO中提到的一個選項是將索引克隆到許多中,然後刪除不屬於該索引的文檔。我正在尋找更好的解決方案。

這個解決方案有什麼問題?這是一個非常乾淨的解決方案,只涉及幾行代碼。

UPDATE:

關於在那裏你有100G指數,想分裂500次的情況下,嘗試這個辦法:對於要開拓出索引文件的每一個子集,創建硬鏈接到源索引,打開鏈接索引並刪除不屬於該索引的文檔。如果你是在Linux上,硬鏈接的目錄可以做到:

cp -lrp myindex myindex.copy 

這是可以做到很多次,因爲你需要和鏈接不消耗任何磁盤空間。

+0

沒有什麼是錯的,但想想做這件事的時候,你的索引是100Gigs,你想分成500個不同的。只需根據所需的時間和空間來運行場景。 – Khash 2010-09-06 09:06:13