Запрос базы данных mysql при индексации документов Solr - PullRequest
0 голосов
/ 01 сентября 2011

Мне нужно обновить мои документы solr подробной информацией, которую я могу получить из базы данных mysql.

Пример:

  • поле solr "city" -> "London" (чтение из источника xml с помощью инструмента post.jar)
  • во время обновления (requestHandler / update уже настроен с пользовательским плагином для выполнения других задач) solr должен запросить mysql для получения дополнительной информации о "Лондоне" (или о том, что только что прочитал)
  • solr обновляет поля этого документа с результатом запроса

Я пытался с плагином JDBC и с обработчиком DIH (который я могу использовать только с помощью вызова / dataimport/ full-import ... и я не могу в моем конкретном случае) и пока безуспешно: (

У кого-нибудь из вас была такая же проблема? Как вы ее решили? Спасибо!

edit: я забыл, для конфигурации dih я пытался следовать этому руководству http://www.cabotsolutions.com/2009/05/using-solr-lucene-for-full-text-search-with-mysql-db/

1 Ответ

0 голосов
/ 03 сентября 2011

Пожалуйста, включите полный вывод / dataimport / full-import при доступе к нему в браузере.Сообщения об ошибках Solr могут быть загадочными.

Рассматривали ли вы загрузку документов по XML ?http://wiki.apache.org/solr/UpdateXmlMessages.Он более мощный, позволяя использовать собственную логику при загрузке документов.

  1. Считайте каждую строку из SQL и составьте XML-документ (строку) с каждым документом под тегами.

  2. Отправьте всю строку XML в /Обновить .Не забудьте установить заголовок MIMEtype как text / xml .И обязательно установите ограничение загрузки вашего контейнера Servler (Tomcat, Jetty) для POST (Tomcat имеет ограничение 2 Мб, если я правильно помню)

  3. не забывайте команды коммита и оптимизации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...