Смещение времени последнего индекса Solr dih

Solr last_index_time — это машинное время сервера Solr, когда запускается dih. Если система распределена с несколькими серверами, у которых нет точной отметки времени, как справиться с разницей во времени?

Одно из решений для меня - установить допуск, например. 5 минут при выполнении дельта-импорта dih, минус указанное выше значение last_index_time на 5 минут. Хотя некоторые повторяющиеся элементы будут обработаны, Solr переопределит существующие элементы.

Не могли бы вы дать мне несколько советов? Спасибо.


person user2102627    schedule 28.04.2013    source источник
comment
Вы запускаете импорт на каждом сервере? Или есть установка master-slave?   -  person Srikanth Venugopalan    schedule 28.04.2013
comment
Спасибо за ваш ответ. У меня есть одна база данных с несколькими подключенными серверами приложений, поэтому время обновления записи в БД поступает с разных серверов приложений. В настоящее время Solr выполняет дельта-импорт этой БД в соответствии с last_index_time в dataimport.properties и временем обновления записи БД, которое может немного отличаться. Как поступить в таком случае? Я думаю, что это распространенный случай, если только я не перепутал механизм Solr. Спасибо.   -  person user2102627    schedule 29.04.2013


Ответы (1)


Наиболее распространенный способ решения этой проблемы, который я видел, — это запустить DIH только на одном экземпляре Solr в ландшафте Solr, а затем использовать функцию репликации Solr (также известную как master-slave, как указано выше) для распространения обновленной информации вокруг другого. задействованные индексы.

person icey502    schedule 29.04.2013
comment
У меня есть только один экземпляр Solr, так как у меня сейчас только одна база данных. Дело в том, что единственная база данных хранит записи lastUpdateTime, поступающие с разных серверов приложений (не с одной и той же отметкой времени), и эта lastUpdateTime используется в dataimport.properties. - person user2102627; 29.04.2013
comment
Хорошо, спасибо, теперь я понимаю дилемму. Помимо попыток каким-то образом нормализовать время обновления приложения в базе данных, одним из простых подходов может быть рассмотрение каждого логического веб-приложения как сегмента (в Solr 4.x это проще в использовании, см. docs.lucidworks.com/display/solr/); в качестве альтернативы вы можете рассматривать их как отдельные ядра (опять же на основе веб-приложения в качестве дискриминанта), а затем объединять их вместе (см. docs.lucidworks.com/display/solr/Merging+Indexes). - person icey502; 30.04.2013