即时搜索数PB的数据

我需要在CSV格式文件中搜索超过PB的数据。 使用LUCENE进行索引后,索引文件的大​​小比原始文件的大。 是否可以减少索引文件大小??? 如何在HADOOP中分发LUCENE索引文件以及如何在搜索环境中使用? 或者是否有必要,我应该使用solr来分发LUCENE指数??? 我的要求是对PB级文件进行即时搜索….

任何像样的现成搜索引擎(如Lucene)应该能够提供超过您拥有的数据大小的搜索function。 您可能需要预先做一些工作来设计索引并配置搜索的工作方式,但这只是配置。

您不会得到即时结果,但您可能会得到非常快速的结果。 速度可能取决于您如何设置以及运行的硬件类型。

您提到索引大于原始数据。 这是可以预料的。 索引通常包括某种forms的非规范化。 索引的大小通常与速度有关; 提前对数据进行切片和切块的方式越多,查找引用的速度就越快。

最后你提到分发索引,这几乎肯定不是你想要做的事情。 分发许多PB的数据的实用性非常令人生畏。 您可能想要的是让索引位于某个大型胖计算机上,并为数据提供搜索服务(将查询带到数据中,不要将数据带到查询中)。

Hadoop和Map Reduce基于批处理模型。 你不会从中获得即时响应速度,这不是该工具的设计目的。 您可以使用Hadoop加快索引编制速度,但它不会像您想要的那样进行查询。

看看Lucandra ,这是一款基于Cassandra的Lucene后端。 Cassandra是另一个分布式数据存储,如果我记得的话,它是在Facebook上开发的,旨在通过比hadoop更加面向查询的访问模型更快地访问时间。

如果要避免更改实现,则应将lucene索引分解为10个,20个甚至更多索引并并行查询。 它在我的情况下工作(我创建了8个索引),我有80 GB的数据,我需要实现搜索,它适用于开发人员机器(Intel Duo Core,3GB RAM)。