2011-02-23 60 views
6

擾流板:
這僅僅是另一個Lucene的VS獅身人面像VS什麼的,
我看到所有其他線程是快兩歲了,於是決定重新開始..今天最快的全文搜索?

這裏是要求:

數據大小:最大10 GB。
行:近百億
索引要快
搜索應該是在0毫秒[ok了,笑話......笑......但保持這種儘可能低]

在今天的世界,這/什麼/我該怎麼辦?

編輯: 我在lucene上做了一些計時,而索引1.8gb的數據花了5分鐘。
搜索速度非常快,除非我做了一個a *。 a *需要400〜500 ms。
我最大的擔心是索引,這是採取loooonnnnggg時間,和大量的資源!

+1

你只需要做新的數據,更新的數據,刪除的數據索引 – ajreal 2011-02-23 14:20:22

回答

2

除了使用Lucene,我沒有任何經驗 - 這幾乎是默認的索引解決方案,所以不要認爲你可能會犯太多錯誤。

10GB並不是很多數據。您可以快速重新編制索引,或將其保存在SSD上以獲得更高的速度。當然,將整個索引保存在RAM(Lucene支持的)中用於超快速查找。

+0

我會保持一切雲,所以我沒有看到有人給SSD如速度:( 而且,順便說一句,整個數據在內存上,我不能把它用於我正在處理的應用程序......它會像每臺計算機1000 GB的獨特數據,所以一切都無法進入內存...... – Shrinath 2011-02-23 14:05:58

+0

好的 - 好的SSD只會對構建索引做出區分。 BUt困惑 - 你說最大數據量爲10GB,而不是1000? – 2011-02-23 14:10:08

+0

Lol:D true,而不是1000 GB :)它只有10 GB ...現在檢查編輯:) – Shrinath 2011-02-23 14:14:26

0

請檢查Lucene wiki獲取有關improving Lucene indexing speed的提示。這非常簡潔。一般來說,Lucene速度非常快(它用於實時搜索)。如果您錯過了「明顯」的內容,這些提示將很方便。

+0

我已經做了一切「明顯」現在:)只是想知道是否「這個」是要走的路:)順便說一句,是索引時間好嗎?其5分鐘到1.8GB? – Shrinath 2011-02-23 17:30:17

+0

尺寸有些不準確。索引1.8G的純文本將不同於索引1.8G HTML(您將解析和索引提取的文本)。您需要查看,如果「足夠快」以滿足您的需求。如果現有索引速度低於您的預期,您可能希望探索如何在實時環境中使用Lucene。這是不平凡的。 – 2011-02-23 17:59:41

+0

@Shrinath - 您的索引速度受限於您讀取磁盤的速度,以及索引插入之前需要處理多少數據。 – 2011-02-24 11:28:26

0

我最大的擔心是索引,這是 服用loooonnnnggg時間,和很多 資源!

從MySQL看看Lusql,我們用了一次,FWIW 100 GBdata上一個體面的機器花了一個多小時,指數更小,對文件系統(NTFS)

現在如果u加固態硬盤或任何超快磁盤技術,你可以把它大大減少