如何读取存储在HDFS上的lucene索引目录,即如何获取存储在HDFS上的索引的IndexReader。 IndexReader将在地图任务中打开。
类似:IndexReader reader = IndexReader.open(“hdfs / path / to / index / directory”);
谢谢, AKHIL
答案 0 :(得分:2)
如果你想打开存储在HDFS中的Lucene索引进行搜索,那你就不走运了。 AFAIK,没有允许搜索操作的HDFS目录的实现。这种情况的一个原因是因为HDFS针对大块的顺序读取进行了优化,而不是Lucene所引发的小型随机读取。
在Nutch项目中,有一个HDFSDirectory的实现,您可以使用它来创建IndexReader,但只有删除操作才能工作。 Nutch只使用HDFSDirectory来执行文档重复数据删除。
答案 1 :(得分:1)
我认为Katta项目可能就是你想要的。我自己没有使用它,但最近一直在研究这种解决方案,这似乎符合要求。
它是使用分片索引的lucene的分布式版本。