Подтвердить что ты не робот

Как создать ядро ​​solr с данными из существующего?

Solr 1.4 Enterprise Search Server рекомендует делать большие обновления на копии ядра и затем заменять его на основное ядро. Я выполняю следующие действия:

Проблема, с которой я столкнулась, - это то, что ядро, созданное на шаге 1, не содержит никаких данных. Если я собираюсь сделать полный индекс всего и кухонную раковину, это будет хорошо, но если я просто хочу обновить (большое) подмножество документов - это, очевидно, не сработает.

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

Есть ли какой-нибудь флаг для действия CREATE, которое мне не хватает? Страница Страница Solr Wiki для CoreAdmin немного редка.

Возможное решение: репликация

Кто-то из solr-пользователя предложил использовать репликацию. Чтобы использовать его в этом сценарии, мне (по моему мнению) потребуется выполнить следующие шаги:

  • Создайте новое ядро ​​PREP, основанное на конфигурации основного ядра
  • Измените конфигурацию основного ядра как главного
  • Измените конфигурацию ядра PREP как подчиненного
  • Причина/ожидание синхронизации?
  • измените конфигурацию ядра PREP, чтобы больше не быть подчиненным
  • Выполните обновление индекса, а затем зафиксируйте/оптимизируйте его в ядре PREP.
  • Сменить PREP и MAIN ядра

Простейшей установкой на основе репликации было бы настроить постоянное ядро ​​PREP, которое всегда является ведущим. Главное ядро ​​(на как можно большем количестве серверов) могло бы быть подчиненным ядром PREP. Индексация может происходить в ядре PREP как можно быстрее или медленнее.

Возможное решение: постоянное ядро ​​PREP и двойное обновление

Еще одна идея, которую я придумал, заключалась в этом (также с участием постоянного ядра PREP):

  • Выполните обновление индекса, а затем зафиксируйте/оптимизируйте его в ядре PREP.
  • Сменить PREP и MAIN ядра.
  • Повторите обновление индекса, а затем зафиксируйте/оптимизируйте то, что теперь является ядром PREP. Теперь он имеет те же данные, что и MAIN core (теоретически), и будет готов к следующей операции индекса.
4b9b3361

Ответ 1

Я создал эту идею операции клонирования, которая выполняет копирование индексов и данных конфигурации файловой системы, а затем CREATEs новую. Есть некоторые проблемы с блокировкой, и вы должны иметь доступ к файловой системе для индексов, но это действительно сработало. Это дает вам хорошую копию, которую вы можете обманывать с помощью конфигурационных файлов.

Чем больше я думаю об этом, вы можете СОЗДАТЬ новое ядро, а затем выполните следующее:

Настроить fetchindex на подчиненном устройстве из главной команды: http://slave_host:port/solr/replication?command=fetchindex Можно передать дополнительный атрибут "masterUrl" или другие атрибуты, такие как "сжатие" (или любой другой параметр, указанный в теге), для однократной репликации от мастера. Это устраняет необходимость жесткого кодирования ведущего в подчиненном устройстве.

И залейте новый из производственного, затем примените свои обновления, а затем поменяйте обратно!