У меня есть клиент SOLR, который хранит информацию о продуктах. Импорт данных запланирован каждые 5 минут и занимает ок. 3 минуты, чтобы выполнить. У меня есть администрация синонимов (поэтому я могу сказать, что для слова «яблоко» выдаются те же результаты, что и для слов «aple» или «apl», например). Обновление синонима выполняется с использованием (https://lucene.apache.org/solr/guide/6_6/managed-resources.html), например, (все через REST API):
- Удалить все старые синонимы
- Добавить новые синонимы
- Перезагрузите ядро, к которому относятся синонимы
Но здесь есть проблема. Если при выполнении импорта данных происходит обновление синонима (то есть, когда выполняется импорт данных, кто-то в администрации нажимает кнопку для обновления синонимов), результат импорта не распространяется на новое ядро (поэтому после этих 2 операций я не вижу, например, продукты на странице). ). После следующего импорта данных (на новом ядре без обновления синонимов) все работает отлично.
Есть ли способ решить эту проблему каким-либо иным способом, кроме изменения планировщика (поэтому он должен следить за тем, были ли изменены синонимы и если true, запустить перезагрузку ядра до следующего запланированного импорта данных)