2

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

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

谢谢,阿基尔

4

2 回答 2

2

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

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

于 2010-05-04T13:20:02.443 回答
1

我认为 Katta 项目可能是您正在寻找的。我自己没有使用过它,但最近一直在研究这类解决方案,这似乎符合要求。

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

http://katta.sourceforge.net/

于 2010-11-19T11:23:11.807 回答