Я играю с поиском на основе Solr для своего веб-приложения и решил, что лучше всего использовать DataImportHandler для обработки синхронизации с приложением через базу данных. Мне нравится элегантность простой проверки поля last_updated_date
. Хорошая вещь. Однако я не знаю, как справиться с удалением документов при таком подходе. Как я это вижу, у меня есть 2 варианта. Я мог бы либо отправить Solr явное сообщение от клиента, когда документ удален, либо добавить флаг «удален» и оставить объект в базе данных, чтобы Solr заметил, что документ изменился и теперь «удален». ." Я мог бы добавить фильтр запроса, который бы игнорировал результаты с флагом удаления, но мне кажется неэффективным включать все удаленные документы в индекс Lucene. Что делают другие люди?
Solr DIH Как обрабатывать удаленные документы?
Ответы (2)
Это ваши варианты:
- Используйте специальные команды DIH $deleteDocById или $deleteDocByQuery (требуется Solr 1.4+)
- Используйте параметр очистки DIH, чтобы удалить весь индекс перед импортом.
- Используйте preImportDeleteQuery, чтобы определить, что будет очищено перед импортом. (требуется Solr 1.4+)
- Используйте триггеры базы данных вместо DIH для управления обновлением индекса.
- Если вы используете какой-то ORM, используйте его возможности перехвата вместо DIH. Например, вы можете использовать события гибернации для обновления индекса при обновлении, вставке или удалении.
person
Mauricio Scheffer
schedule
13.10.2009
Это отличный список! Я все еще использую 1.3, но это убедительная причина задуматься о переключении.
- person Brandon Yarbrough; 13.10.2009
да, Solr 1.4 только что вышел в RC, финальный релиз неизбежен.
- person Mauricio Scheffer; 15.10.2009
Привет, Маурисио, есть ли хорошие примеры использования preImportDeleteQuery при дельта-импорте удаленных документов?
- person Joyce; 12.01.2011
Есть ли иллюстрации о том, как использовать специальные команды? Их нужно добавлять в строку с помощью скрипта?
- person pr4n; 13.06.2012
Мне нравится иметь флаг «удалено», чтобы я не удалял свои данные! Зависит от того, насколько вы параноик. Мне нравятся предложения Маурисио...
person
Eric Pugh
schedule
13.10.2009