2012-08-29 117 views
1

有用例,其中數據通過lucene索引進行搜索。每12小時將當前索引存檔在一個zip中,並重新開始一個新的索引。由於我們的數據流入率非常高,我們需要進行壓縮以幫助存儲。我們使用java.util.zip進行搜索時進行壓縮和解壓縮。歸檔lucene索引

現在的問題是,有人在過去的一週中搜索數據,需要花費大量時間進行解壓縮。如果有人能爲我提供一些更好更快捷的解壓方法,那會很棒。我正在考慮7-zip的LZMA,但一些輸入將會很有用。同時,正在壓縮正確的方法?我有選擇嗎?我們有一個Java代碼庫,您的輸入正在等待。

+0

你在每次請求解壓你過去的12小時指標? – jpountz

+0

不!當需要出現時。如果用戶要求100個結果,並且我在第一個索引中得到100,那麼我不需要這樣做。如果他分頁到200,我沒有在開放索引中得到期望的結果,那麼我應該打開存檔! – Greenhorn

回答

4

LZMA壓縮比較好,但解壓縮速度會更慢。

你可以走向另一個方向,接受不太好的壓縮,以獲得更快的解壓縮。你可以看看lz4。它的解壓縮速度大約是原來的四到五倍,但壓縮比大約要大50%(您的里程可能會有所不同)。儘管lz4有很高的壓縮(HC)模式,但壓縮時間更長,效果更好,但仍然非常快速地解壓縮。