Код requestHandler для нескольких ядер - PullRequest
1 голос
/ 17 ноября 2011

Я создал два ядра, и они показывают 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 Ответ

1 голос
/ 17 ноября 2011

Вам не нужна основная запись в файле 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

...