но прежде чем переходить к части «Индексация», пройдите учебник по адресу lucene.apache.org / solr /tutorial.html

сматривал здесь некоторые вопросы, касающиеся MySQL и поиска по фасетам, и увидел один ответ, в котором предлагалось использовать Solr.

В моей базе данных MySQL у меня есть много таблиц для продуктов, поставщиков, сообщений, пользователей и т. Д. - все они взаимосвязаны. Как бы я использовал Solr для поиска товаров? Исходя из того, что я понимаю, мне пришлось бы продолжать подавать данные о продукте Solr из MySQL - но как мне справиться с индексацией данных? Есть ли индекс сразу после добавления нового товара? Должен ли я индексировать партии? Как мне поступить с Solr, точно представляющим данные, найденные в моей базе данных MySQL? (вставляет, удаляет и т. д.)

Заранее спасибо.

 Nick Zadrozny05 янв. 2011 г., 18:34
На каком языке и в какой структуре работает ваше приложение? Существует множество хороших клиентов Solr (например, Sunspot для приложений Ruby), которые могут довольно прозрачно обрабатывать этот вид денормализации и обновления.
 RS7105 янв. 2011 г., 20:19
В настоящее время я использую инфраструктуру CodeIgniter в PHP. Что-нибудь, что вы могли бы предложить мне?

Ответы на вопрос(3)

 RS7105 янв. 2011 г., 20:24
Пожалуйста, смотрите мой вопрос в комментариях к ответу Ярекрозанского. Благодарю.

но вы можете получить к нему доступ на любом языке, который обеспечивает функциональность HTTP GET / POST.

для вашей потребности вы должны обратиться кhttp://wiki.apache.org/solr/DataImportHandler но прежде чем переходить к части «Индексация», пройдите учебник по адресу lucene.apache.org / solr /tutorial.html

обработчик импорта данных, Помимо пакетного обновления вы также можете вызвать обновление, позвонивобработчик запроса на обновление, Вам придется вызывать его из своего приложения, но вы также можете создать свой собственный обработчик запроса на обновление, который будет соответствовать вашим потребностям.

 jarekrozanski06 янв. 2011 г., 23:01
Добавление, обновление и удаление обрабатываются обработчиком обновлений. Действие зависит от отправленного XML-сообщения. Проверьте этот ресурс:wiki.apache.org/solr/..., В крайнем случае вы можете написать процедуру хранения, которая будет прикреплена для запуска при вставке / обновлении / удалении вашей таблицы БД. Однако, если над вашей БД есть приложение, я бы пошел с логикой поддержки индекса выпечки.
 jarekrozanski06 янв. 2011 г., 23:05
Имейте в виду, если у вас есть большие индексы, которые при интенсивном использовании вы могли бы рассмотреть переход на многоядерный. В этом сценарии вы разрешаете поиск в одном ядре при создании / обновлении второго. После успешного завершения или через заданные промежутки времени вы можете поменять вторичное на основное и начать строить основное (например, пакетное обновление с обработчиком импорта данных).wiki.apache.org/solr/CoreAdmin#SWAP
 Shashikant Kore06 янв. 2011 г., 05:34
Проверьте это для обработки удалений в Solr.stackoverflow.com/questions/1555610/...
 RS7105 янв. 2011 г., 20:23
Как мне работать с удалениями? Из того, что я понял, обработчик импорта данных имеет дело в основном со вставками и обновлениями. Благодарю.

Ваш ответ на вопрос