Solr-Collection или Core не перезагружают schema.xml

Я использую Solar 4.6 и изменил что-то внутри schema.xml, Для того, чтобы обновить schema.xml внутри моего ядра я использовал zkcli, Который работает нормально, и я могу видеть модифицированный schema.xml внутри Solr Admin GUI под cloud\tree\config\foobar\schema.xml,

Но после звонка

  • http://localhost:8983/solr/admin/collections?action=RELOAD&name=foobar а также
  • http://localhost:8983/solr/admin/cores?action=RELOAD&name=foobar,

Старый schema.xml был еще в ядре с именем foobar.

2 ответа

Вы должны перезагрузить свои ядра после предоставления ему новой схемы.

Замените имя на ядро ​​в вашем запросе как:

/solr/admin/cores?action=RELOAD&**core**=yourcorename

Например

http://localhost:8983/solr/admin/cores?action=RELOAD&core=foobar

Ваш второй HTTP-запрос к Core API неверен. + Изменить name в core:

http://localhost:8983/solr/admin/cores?action=RELOAD&name=foobar должно бытьhttp://localhost:8983/solr/admin/cores?action=RELOAD&core=foobar,


http://archive.apache.org/dist/lucene/solr/ref-guide/apache-solr-ref-guide-4.6.pdf (стр. 277)

RELOAD

RELOAD action загружает новое ядро ​​из конфигурации существующего зарегистрированного ядра Solr. Пока новое ядро ​​инициализируется, существующее будет продолжать обрабатывать запросы. Когда новое ядро ​​Solr готово, оно вступает во владение, и старое ядро ​​выгружается.

Это полезно, если вы внесли изменения в конфигурацию ядра Solr на диске, например добавили новые определения полей. Вызов RELOAD действие позволяет применить новую конфигурацию без перезапуска веб-контейнера. Однако основной контейнер не сохраняет SolrCloudsolr.xml параметры, такие как solr/@zkHost а также solr/cores/@hostPort, которые игнорируются.

http://localhost:8983/solr/admin/cores?action=RELOAD&core=core0

RELOAD action принимает один параметр, core, который является именем ядра, подлежащего перезагрузке.


см. также https://cwiki.apache.org/confluence/display/solr/CoreAdmin+API

Другие вопросы по тегам