Код requestHandler для нескольких ядер
Я создал два ядра, и они показывают http://{localhost}:8983/solr/ и которые я нажимаю на них, открывается панель администратора. Файлы solr.xml имеют приведенный ниже код.
<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true" >
<cores adminPath="/admin/cores">
<core name="core0" instanceDir="core0" />
<core name="core1" instanceDir="core1" />
</cores>
</solr>
И я создаю папку соответственно. Но когда я пытаюсь добавить обработчик к нему, предположим, к core1 в core1->config->solrconfig.xml, core0 исчезает из списка core
Ядро для обработчика запросов приведено ниже.
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
Я даже пытался передать имя ядра с помощью обработчика, т.е.
<requestHandler name="/core0/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
Но это не сработало.
Нужно ли что-то менять, чтобы запустить два ядра?
1 ответ
Вам не нужна основная запись в solrconfig.xml.
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
Вы можете обрабатывать импорт данных для отдельных ядер
core0 - http://localhost:8983/solr/core0/admin/dataimport.jsp?handler=/dataimport
core1 - http://localhost:8983/solr/core1/admin/dataimport.jsp?handler=/dataimport