打开存储在hdfs中的lucene索引

时间:2010-05-04 05:58:44

标签: lucene hadoop hdfs

如何读取存储在HDFS上的lucene索引目录,即如何获取存储在HDFS上的索引的IndexReader。 IndexReader将在地图任务中打开。

类似:IndexReader reader = IndexReader.open(“hdfs / path / to / index / directory”);

谢谢, AKHIL

2 个答案:

答案 0 :(得分:2)

如果你想打开存储在HDFS中的Lucene索引进行搜索,那你就不走运了。 AFAIK,没有允许搜索操作的HDFS目录的实现。这种情况的一个原因是因为HDFS针对大块的顺序读取进行了优化,而不是Lucene所引发的小型随机读取。

在Nutch项目中,有一个HDFSDirectory的实现,您可以使用它来创建IndexReader,但只有删除操作才能工作。 Nutch只使用HDFSDirectory来执行文档重复数据删除。

答案 1 :(得分:1)

我认为Katta项目可能就是你想要的。我自己没有使用它,但最近一直在研究这种解决方案,这似乎符合要求。

它是使用分片索引的lucene的分布式版本。

http://katta.sourceforge.net/