DataImportHandler может быть немного пугающим. Ваш начальный запрос загрузил 10.000 уникальных продуктов. Это загружается, если вы указываете / dataimport? Command = full-import.
Когда этот импорт завершен, DIH сохраняет переменную ({dataimporter.last_index_time}), которая является последней датой / временем, когда вы выполняли этот импорт.
Чтобы выполнить обновление, вы указываете deltaQuery. DeltaQuery предназначен для идентификации записей, которые изменились в вашей базе данных с момента последнего обновления. Итак, вы указываете запрос следующим образом: SELECT product_id
С некоторого
ГДЕ [date_update]> = '$ {dataimporter.last_index_time}'
Это позволит получить все product_ids из вашей базы данных, которые были обновлены с момента вашего последнего полного обновления. Следующий запрос (deltaImportQuery), который вам нужно указать, - это запрос, который будет извлекать полную запись для каждого product_id, полученного на предыдущем шаге.
Предполагая, что product_id является вашим уникальным ключом, solr определит, что ему нужно обновить существующую запись или добавить ее, если product_id не работает.
Чтобы выполнить deltaQuery и deltaImportQuery, вы используете / dataimport? Command = delta-import
Это большое упрощение всех возможностей, посмотрите вики Solr на DataImportHandler, это ОЧЕНЬ мощный инструмент!