2011-02-23 68 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加固态硬盘或任何超快磁盘技术,你可以把它大大减少