SOLR - Как извлечь значения полей из документов при добавлении их в SOLR? - PullRequest
1 голос
/ 01 апреля 2011

Использование SolrJ с SOLR 1.4.1.

Итак, у меня есть набор полей, которые я хочу проиндексировать. Скажем, у меня есть сотни документов (предположим, что это текстовые файлы), которые я хочу добавить в SOLR для создания индексов. Могу ли я передать SOLR документы и найти значения полей в каждом из этих документов?

Например, предположим, у меня есть поле в схеме SOLR, которое называется «производитель». У меня также есть документ с текстом:

Lorem ipsum dolor sit amet, специалист по адептизированию, elit, sed do eiusmod tempor incididunt ut labore et Долоре Магна Аликуа. Ut enim ad minim Вениам, Quis Nostrud упражнения ullamco labouris nisi ut aliquip ex ea коммандо Duis aute irure dolor производитель acme в репеэндерит в волпате велит эссе cillum долоре ес фугиат nulla pariatur. Excepteur Sint occaecat cupidatat non proident, sunt в виновном виновнике дезертир моллит аним есть рабочая сила.

Могу ли я как-нибудь заставить SOLR вытащить из этого документа «acme» в качестве значения для поля «factory»? Или мне нужно вручную просмотреть каждый документ перед добавлением его в SOLR и вручную найти значения для каждого поля, например:

SolrInputDocument doc = new SolrInputDocument();
doc.addField("manufacturer", "acme");

1 Ответ

1 голос
/ 01 апреля 2011

Нет встроенного способа сделать это в Solr. У вас есть несколько вариантов:

  • Сборка входных документов Solr JSON / XML вручную
  • Используйте обработку на естественном языке для аннотирования ваших документов, а затем используйте аннотации для создания отдельных полей Solr (см. Solr UIMA )
  • Напишите свой собственный UpdateRequestProcessor , который извлекает поля из ваших документов с помощью регулярных выражений, XPath или любого другого, который вам подходит
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...