Необработанный Lucene может индексировать быть загруженным Solr?

У некоторых моих коллег есть большое веб-приложение Java, которое использует поисковую систему, созданную с Java Lucene. То, что я хотел бы сделать, имеют хороший основанный на HTTP API для доступа к тем существующим поисковым индексам. Я использовал Nutch прежде и действительно любил, как простой реализация OpenSearch добралась до результатов захвата как до RSS.

Я попытался установить dataDir Solr в solrconfig.xml, надеясь, что он счастливо взял бы существующие индексные файлы, но это, кажется, просто игнорирует их.

Мой основной вопрос:

Solr может использоваться для доступа к индексам Lucene, созданным в другом месте? Или могло бы там быть лучшее решение?

27
задан 26 April 2010 в 18:44
поделиться

2 ответа

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

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

В solrconfig.xml вам может потребоваться изменить настройки в разделах indexDefaults и mainIndex.

Но я был бы счастлив прочитать ответы людей, которые действительно это сделали.

11
ответ дан 28 November 2019 в 05:28
поделиться

Успех! С предложением Паскаля об изменениях в schema.xml я быстро заработал. Спасибо!

Вот мои полные шаги для всех, кто интересуется:

  1. Скачал Solr и скопировал dist / apache-solr-1.4.0.war в tomcat / webapps
  2. Скопировал example / solr / conf в / usr / local / solr /
  3. Скопировал уже существующие файлы индекса Lucene в / usr / local / solr / data / index
  4. Установите solr.home в / usr / local / solr
  5. В solrconfig.xml измените dataDir на / usr / local / solr / data (Solr ищет внутри каталог индексов)
  6. Загрузил мои индексы Lucene в Luke для просмотра (замечательный инструмент)
  7. В примере schema.xml удалил все поля и типы полей, кроме "string"
  8. В примере schema.xml добавлено 14 определений полей, соответствующих 14 полям, показанным в Luke. Пример:
  9. В примере schema.xml изменен uniqueKey на поле в моем индексе, которое казалось быть идентификатором документа
  10. В примере schema.xml изменил defaultSearchField на поле в моем индексе, которое, казалось, содержало термины
  11. Запустил tomcat, наконец не увидел исключений и успешно выполнил несколько запросов на localhost: 8080 / solr / admin

Для меня это просто доказательство того, что это может работать. Очевидно, предстоит еще многое сделать.

27
ответ дан 28 November 2019 в 05:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: