Единственное, что касается «дельта-импорта», это то, что он предполагает, что большая часть контента уже проиндексирована, поэтому выполняются конкретные запросы, чтобы определить, что изменилось с момента последнего запуска импорта, и определить, какиедокументы были удалены из базы данных.Вы должны написать запросы (и иметь структуру данных за кулисами, которая поддерживает эти запросы), чтобы Solr мог определить эти вещи для вас.
Нет прослушивания изменений, и нет автоматического импорта, выполняемого каждые пятьминуты (или другой интервал).Вы запускаете дельта-импорт точно так же, как и полный импорт:
http://localhost:8983/solr/dih/dataimport?command=delta-import
Но вместо выполнения обычных запросов версии запросов delta
выполняются вместо .
<entity name="feature"
query="select DESCRIPTION from FEATURE where ITEM_ID='${item.ID}'"
deltaQuery="select ITEM_ID from FEATURE where last_modified > '${dataimporter.last_index_time}'"
parentDeltaQuery="select ID from item where ID=${feature.ITEM_ID}">
<field name="features" column="DESCRIPTION" />
</entity>
Если вы создаете приложение сегодня, я настоятельно рекомендую отправлять документы напрямую в Solr, когда они изменяются в вашем приложении, вместо использования обработчика импорта данных, так какэто будет лучше масштабироваться, даст вам более быстрые обновления и даст вам полный контроль над процессом обновления.