2014-06-11 61 views
0

我目前索引維基百科轉儲(實際上是一個從2012年開始,但格式是一樣的,不管),想了解性能成本(規模及處理時間)。Lucene的維基百科轉儲

我使用Lucene的Java 4.x版和存儲索引中的所有垃圾場。我在一臺配有i5處理器和8 GB RAM的機器上工作。我剛剛完成索引5000個創建索引的文章,大小爲5GB,耗時約10分鐘。

這意味着3.5萬篇文章,這將是一個3.5 TB指數,它會帶我5天左右,如果索引時間是線性的(這是不是)。我不知道是否因爲原始維基百科轉儲文件僅僅是35 GB是正常的...

回答

1

我們曾經有過同樣的問題,在這裏,我們做這個研究的很多,所以讓我跟大家分享一些事實,我們有這方面的面孔。

第一個:關於索引過程的速度,您可以使用多線程解決方案,或將您的索引分爲不同的類別,您可以設計解決方案來同時索引您的文章。

例子

我們已經分居了我們的數據的類別和子類別,使我們能夠在同一時間打開一個索引作家對於每個子類,其速度提高一倍我們的子類別的指標x(n)。

2-我們設計了一個多線程解決方案,我們的指數數據,我們創建線程的固定大小池,此池中的所有線程使用同一位作家對數據的同一類別進行索引過程,然後立即提交索引數據。

第二:關於索引文件的大​​小,你無能爲力,因爲你無法控制它們。 Lucene的有它的方式來處理文件,所以在這種情況下,我們決定與Lucene的新4.x版本,其中有規模較小的增強60%左右移動。

+0

「Lucene的新版本」 是指4.8?我目前有4.2,以確保與Luke的兼容性(我喜歡用它在索引中徘徊......) – RalfB

+0

如果你的版本是'4.2',那麼我認爲你已經有了尺寸增強,這意味着'3.5 TB '增強的尺寸。 – Salah