Как настроить экземпляр EmbeddedSolrServer? - PullRequest
5 голосов
/ 03 июня 2011

У меня проблемы с запуском EmbeddedSolrServer.JavaDoc для CoreContainer является по меньшей мере редким.Я посмотрел на «MergeIndexesEmbeddedTest» и мой код, похоже, должен работать.(Это проект Maven) У меня есть и «Schema.xml», и «solr.xml» в корне папки src/main/resources.Я могу создать экземпляр сервера, но когда я пытаюсь добавить SolrInputDocument к серверу, я получаю:

org.apache.solr.common.SolrException: 'No such core: butterfly'
at org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:104)
at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105)
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:64)

Мой код, который устанавливает сервер:

final File solrConfigXml = new File( "C:/code/butterfly/src/main/resources/solr.xml" );
final String solrHome = "C:/code/butterfly/src/main/resources/";
CoreContainer coreContainer;
try{
    coreContainer = new CoreContainer( solrHome, solrConfigXml );
}catch( Exception e ){
    e.printStackTrace( System.err );
    throw new RuntimeException( e );
}
solrServer = new EmbeddedSolrServer( coreContainer, "butterfly" );

и мой solr.xml файл:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="false">
    <cores adminPath="/admin/cores" defaultCoreName="butterfly1">
          <core name="butterfly" instanceDir="." />
    </cores>
</solr>

Я не опубликовал свой Schema.xml файл, так как это всего лишь сокращенная версия примера с другими именами полей.Я использую абсолютный путь к файлам только потому, что мне было проще начать.

1 Ответ

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

В вашем фрагменте solr.xml значением defaultCoreName является butterfly1.В вашей схеме нет ядра с именем = butterfly1.

Какую версию сервера Solr вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...