#apache #solr
#apache #solr
Вопрос:
Предположим, у меня есть 100 продуктов в БД, я выполнил индексацию и создал документы. Теперь они добавили в БД еще 10 продуктов. Теперь, что я должен сделать, чтобы обновить / добавить эти 10 продуктов в существующий индексированный документ? Что я делаю, так это удаляю существующие документы и выполняю индексацию. Я думаю, что это неправильный способ. Пожалуйста, помогите мне в этом.
Примечание: между ними я ничего не меняю в schema.xml
и solrconfig.xml
Ответ №1:
Просто добавьте новые / измененные документы в solr, и все. Нет необходимости удалять весь индекс для одного обновления. Если в документе с идентификатором 1 поле title
изменилось с foo
на на bar
, просто добавьте документ с тем же id
полем в индекс, сохранив неизменные поля с их старыми значениями (например, «текст»: «старое значение», «дата»: «старая дата») и установив title
для поля значение новогозначение foo
. Solr (или, скорее, solr и lucene) позаботятся обо всем остальном.
Комментарии:
1. Привет, можем ли мы настроить cron job для этого? Есть какая-нибудь ссылка на ресурс?
2. ресурс или ссылка на что именно?
3. Вот одна из (многих) ссылок, касающихся обновлений solr wiki.apache.org/solr/UpdateXmlMessages#add.2Freplace_documents . AFAIK наличие задания cron для чтения новейших документов из базы данных и их индексации вполне приемлемо