Идентификация строк в документах, с помощью Nutch + Solr? - PullRequest
0 голосов
/ 18 августа 2010

Я ищу поисковое решение, которое идентифицирует строки (названия компаний) и использует эти строки для поиска и аспектов в Solr.

Я новичок в Nutch и Solr, поэтому мне интересно, лучше ли это делать в Nutch или в Solr.Одним из решений было бы создание парсера в Nutch, который идентифицирует рассматриваемые строки, а затем индексирует название компании, которое впоследствии сопоставляется со значением Solr.Я не уверен, как, но я думаю, что это также может быть сделано внутри Solr прямо из текста?

Имеет ли смысл выполнять эту идентификацию строк в Nutch или в Solr, и есть ли какая-то функциональность в Solr или Nutch, которая могла бы мне здесь помочь?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 27 августа 2010

Вы можете встроить библиотеку NER (см. Opennlp, lingpipe, gate) в пользовательский анализатор, сгенерировать новые поля и соответственно создать индексный фильтр. Это не особенно сложно, и преимущество по сравнению с выполнением этого на стороне SOLR состоит в том, что вы получите выгоду от масштабируемости mapreduce (задачи NLP часто требуют много ресурсов процессора). См. Behemoth для примера того, как встроить GATE в mapreduce

1 голос
/ 18 августа 2010

Nutch работает с Solr, индексируя просканированные данные в Solr через HTTP-API Solr.Вы запускаете индексацию, вызывая команду solrindex.См. на этой странице для получения подробной информации о том, как настроить это.

Чтобы иметь возможность извлечь названия компаний, я бы добавил необходимый код в Solr.Я бы использовал UpdateRequestProcessor .Это позволяет добавить дополнительный шаг в процессе индексирования, чтобы добавить дополнительные поля в индексируемый документ.Ваш UpdateRequestProcessor будет использоваться для проверки документов, отправленных Solr Nutch, извлечения названий компаний из текста и добавления их в качестве новых полей в документе.Solr будет индексировать документ + поля, которые вы добавляете.

...