打开存储在hdfs中的lucene索引

打开存储在hdfs中的lucene索引,lucene,hadoop,hdfs,Lucene,Hadoop,Hdfs,如何读取通过HDFS存储的lucene索引目录,即如何获取通过HDFS存储的索引的IndexReader。IndexReader将在映射任务中打开 类似于:IndexReader=IndexReader.open(“hdfs/path/to/index/directory”) 谢谢, Akhil如果你想打开一个存储在HDFS中的Lucene索引进行搜索,那你就太倒霉了。顺便说一句,没有允许搜索操作的HDFS目录实现。出现这种情况的一个原因是,HDFS针对大数据块的顺序读取进行了优化,而不是Luc

如何读取通过HDFS存储的lucene索引目录,即如何获取通过HDFS存储的索引的IndexReader。IndexReader将在映射任务中打开

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

谢谢,
Akhil

如果你想打开一个存储在HDFS中的Lucene索引进行搜索,那你就太倒霉了。顺便说一句,没有允许搜索操作的HDFS目录实现。出现这种情况的一个原因是,HDFS针对大数据块的顺序读取进行了优化,而不是Lucene导致的小的随机读取


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

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

这是lucene的分布式版本,使用分片索引


确实有一个目录实现可以在通用FS系统上打开Lucene目录,但不幸的是,当我使用IndexReader.open(新文件系统目录(…))时,我遇到了这个AbstractMethod错误。在映射任务中,您没有意识到FileSystemDirectory存在。不过,我会对此保持警惕。它似乎没有得到积极的维护。