2015-12-11 3 views
1

Мы работаем solr 4.10.3 в производстве в течение многих лет с простой репликацией master/slave. Мы находимся в точке, где обновление до 5.3 имеет смысл, но мы пытаемся сделать это самым простым способом. Текущая настройка выглядит следующим образом:Репликация от solr 4.10.3 до solr 5.3

4.1_master => 4.1_slave 

Это, как говорится, кто-нибудь знает, если это возможно, чтобы засеять экземпляр 5.3 с помощью репликации от ведомого? Мол, индексы различаются и она будет работать, чтобы сделать прикован репликацию так:

4.1_master => 4.1_slave => 5.3_slave 

Если нет, то кто-нибудь предложить хорошую документацию для обновления 5.3?

ответ

0

Я завершаю обновление с 4.7 до 5.3. На самом деле это намного проще, чем то, что вы делаете.

Вот самый простой способ:

1.Install параллельно на том же поле. Создать коллекцию и т. Д. 2. Измените схемы и solrconfig. Откройте новую и старую бок о бок и скопируйте материал из старой в новую. Есть некоторые различия; так что это важно. Убедитесь, что это работает. 3. Завершите работу Solr 4, скопируйте индексы в новый Solr. 4. Индексы следует снимать без проблем. Но убедитесь, что это работает. 5. Сделайте свой материал для конкретной среды в новом экземпляре, например, настройте репликацию и все такое. Volia!

У меня есть nginx перед Solr, поэтому, как только обновление будет завершено, я могу просто перенаправить nginx в новый кластер solr, и там нет обновления для простоя.

Одна вещь, о которой я размышлял, это то, как обновить индексы Lucene. Похоже, после оптимизации они получают новую версию Lucene в имени файла; однако в Dev и Test я закончил делать полный переиндекс. Если у вас есть псевдонимы, созданные для коллекций, это тоже будет очень легко.

Я написал код python, чтобы сделать это проще. Вот документация: http://solrclient.readthedocs.org/en/latest/Reindexer.html

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