начальный индекс lucene хранится в hdfs - PullRequest
2 голосов
/ 04 мая 2010

Как прочитать каталог индекса lucene, хранящийся в HDFS, т.е. как получить IndexReader для индекса, хранящегося в HDFS. IndexReader должен открываться в задании карты.

Что-то вроде: IndexReader reader = IndexReader.open ("hdfs / path / to / index / directory");

Спасибо, Akhil

Ответы [ 2 ]

2 голосов
/ 04 мая 2010

Если вы хотите открыть индекс Lucene, который хранится в HDFS для целей поиска, вам не повезло. AFAIK, отсутствует реализация Directory для HDFS, которая позволяет выполнять операции поиска. Одна из причин этого заключается в том, что HDFS оптимизирована для последовательного чтения больших блоков, а не небольших случайных операций чтения, которые выполняет Lucene.

В проекте Nutch есть реализация HDFSDirectory, которую можно использовать для создания IndexReader, но работают только операции удаления. Nutch использует только HDFSDirectory для дедупликации документов.

1 голос
/ 19 ноября 2010

Я думаю, что проект Katta может быть тем, что вы ищете. Я не использовал его сам, но недавно исследовал подобные решения, и это, кажется, отвечает всем требованиям.

Это распределенная версия lucene, использующая закрытые индексы.

http://katta.sourceforge.net/

...