2013-07-23 2 views
0

Я обновляю свой индекс solr, используя атрибуты deltaQuery и deltaImportQuery в data-config.xml.
В моем состоянии я пишуsolr - Удаление строки из индекса, используя только файлы конфигурации

where MyDoc.LastModificationTime > '${dataimporter.last_index_time}' 

затем после того, как я добавить строку я запустить обновление с помощью данных-config.xml.

Теперь иногда я удаляю строку.
Как я могу реализовать это только с конфигурационными файлами
(не отправляя команду rest rest на solr).

Допустим, что мой объект не удаляется, но его статус изменен на удаленный.
Я не индексирую это поле статуса, так как хочу удерживать только живые строки. (иначе я мог бы просто отфильтровать его)
Есть ли способ сделать это? спасибо.

ответ

2

Поскольку вы не упомянуть где-нибудь, я предполагаю, что вы не пробовали это до сих пор,

Вы можете использовать deletedPkQuery поддерживается DataImportHandler. Вы можете просто настроить запрос, который возвращает идентификаторы (идентификатор документа Solr), которые необходимо удалить во время дельта-импорта.

Вы можете сделать что-то подобное Упоминается в:

http://solr.pl/en/2011/01/03/data-import-handler-%E2%80%93-removing-data-from-index/

Смежные вопросы