Как найти дельту между двумя коллекциями SOLR

Мы используем Lucid Works Solr версии 4.6.

Наша исходная система в основном хранит данные в двух целевых системах (одна в режиме реального времени, а другая в пакетном режиме). Данные поступают в Solr по маршруту в реальном времени.

Нам необходимо периодически синхронизировать данные, загруженные в Solr, с данными, загруженными в пакетную систему.

Дизайн, который мы сейчас пытаемся оценить, состоит в том, чтобы импортировать данные из пакетной системы в другую коллекцию Solr, но на самом деле не знаю, как синхронизировать обе коллекции (т.е. одна с данными в реальном времени, а вторая — через пакетный импорт).

Я прочитал обработчики импорта данных, но это переопределит существующие данные в Solr. Есть ли способ, которым мы можем определить дельту между двумя коллекциями и принять только это.


person Himanshu    schedule 23.09.2015    source источник
comment
Рассматривали ли вы возможность использования регулярной репликации?   -  person MatsLindh    schedule 24.09.2015


Ответы (1)


Нет хорошего пути; есть несколько вещей, которые вы можете сделать:

  1. Когда данные поступают в систему реального времени, появляется метка времени импорта. Затем выполните запрос диапазона, чтобы получить новый материал. Думаю, в новых версиях Solr уже есть поле для этого.
  2. Зарегистрируйте идентификаторы документов, поступающих в первый Solr, а затем проиндексируйте их.
  3. Отдельная очередь для другой коллекции
person nick_v1    schedule 30.09.2015