Solr, заблокировать обновление существующего документа - PullRequest
4 голосов
/ 13 декабря 2011

Когда документ отправляется в solr и такой документ уже существует в индексе (по его идентификатору), тогда новый заменяет старый.

Но я не хочу автоматически заменять документы. Просто игнорируйте и переходите к следующему. Как мне настроить solr.

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

Так есть ли способы настроить solr на игнорирование дубликатов?

1 Ответ

7 голосов
/ 13 декабря 2011

Вы можете отключить автоматическую перезапись документов с тем же uniqueIndex, указав атрибут overwrite="false" в элементе добавления при отправке документов на UpdateHandler. Посмотрите здесь .

<add overwrite="false">
    <doc>
        <field name="id">id</field>
    </doc>
</add>

В любом случае это позволяет иметь дубликаты документов в solr вместо пропуска новых документов с тем же идентификатором существующих. Я не думаю, что это ваше желаемое поведение.

Я думаю, вы должны написать свой UpdateHandler или UpdateRequestProcessor или следовать предложениям, которые вы получили из списка рассылки solr для пользователей .

...