Tomcat SOLR установка нескольких ядер - PullRequest
13 голосов
/ 26 апреля 2010

Я провел все утро, пытаясь настроить несколько ядер в установке SOLR, которая работает на сервере Apache Tomcat, но безуспешно. Мой solr.xml выглядит так:

<solr persistent="false" sharedLib="lib">
  <cores adminPath="/admin/cores">
    <core name="core0" instanceDir="/multicore/core0">   
        <property name="dataDir" value="/multicore/core0/data" />
    </core>
    <core name="core1" instanceDir="/multicore/core1">
        <property name="dataDir" value="/multicore/core1/data" />
    </core>
  </cores>
</solr>

Какова правильная структура каталогов? Нужно ли что-то изменить в файле solrconfig.xml?

Ответы [ 2 ]

10 голосов
/ 26 апреля 2010

Убедитесь, что ваши значения instanceDir относительно -Dsolr.solr.home. Если -Dsolr.solr.home является «многоядерным», то ваш instanceDir должен быть только «core0».

Если вы поместите вашу папку данных в instanceDir, вам не нужно указывать ее путь:

<?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>

Вам не нужно ничего устанавливать в solrconfig.xml. Но если вам нужно настроить обработчик независимо от расположения ядра, вы можете использовать переменную $ {solr.core.instanceDir}.

UPDATE

Чтобы установить переменную solr.solr.home с Tomcat, используйте переменную среды JAVA_OPTS перед запуском Tomcat:

JAVA_OPTS="-Dsolr.solr.home=multicore"
export JAVA_OPTS
tomcat/bin/catalina.sh start

Убедитесь, что «многоядерный» установлен правильно относительно рабочего каталога. Например, если solr.solr.home = 'multicore', вам нужно запустить Tomcat из каталога, где находится "multicore".

6 голосов
/ 04 апреля 2011

Это немного поздно в игре, но я просто выложил пост в блоге с инструкциями для многоядерного экземпляра SOLR на Tomcat , где написано:

  1. Скачал и установил 32-битную / 64-битную службу Windows Установщик для Tomcat
  2. Установлен Tomcat на сервере (нет Особые инструкции здесь - просто запустите установку и установите где угодно Вы хотите)
  3. Проверьте установку Tomcat, перейдя на http://localhost:8080
  4. Редактировать Tomcat's conf / server.xml и добавьте URIEncoding = "UTF-8" к элемент, как показано здесь
  5. Загрузить SOLR с одного из зеркал, найденных здесь (скачал apache-solr-1.4.1.zip пакет) и распакуйте пакет
  6. Создайте каталог, в котором SOLR будет размещен с (в моем случае я использовал e: \ inetpub \ solr)
  7. Копировать содержимое каталога example \ solr для вашего Каталог хоста SOLR (в моем случае e: \ inetpub \ solr)
  8. Создать каталоги в вашем каталоге хоста SOLR для каждого из ядер, которые вы хочу создать (я создал около десятка папок для каждого ядра, которое я хотел создать в каталоге e: \ inetpub \ solr. Каталоги включены en-US, en-CA, en-GB и т. д.)
  9. Скопируйте solr.xml файл из example \ multicore и вставьте его в свой Каталог хоста SOLR (e: \ inetpub \ solr для моего примера)
  10. Редактировать файл solr.xml , содержащий информацию для каждого из ядер, которые вы создали (если вы создали папку под вашим хостом для ядро с именем en-US , затем добавьте следующее под Элемент в файле solr.xml : )
  11. Остановите службу Tomcat
  12. Скопируйте файл * solr * .war из каталог dist в распакованном пакете SOLR в папку Tomcat webapps
  13. Переименуйте * solr * .war файл в solr.war
  14. В области уведомлений в правой части панели задач Windows щелкните правой кнопкой мыши на Apache Tomcat 7 и выберите Настройка
  15. Нажмите Java и добавьте следующее к Java Options text box: -Dsolr.solr.home = e: \ inetpub \ solr (изменить e: \ inetpub \ solr, где бы ни находился ваш SOLR)
  16. Нажмите OK в диалоговом окне и затем запуск Tomcat service
  17. Откройте файлы conf \ solrconfig.xml под каждым из ядер, которые вы создали и измените dataDir элемент для указания на определенный каталог. Если этот шаг не завершен, все ваши ядра будут использовать одно и то же хранилище данных для своих данных.
  18. Стоп и перезапустите службу Tomcat
  19. Проверьте, работают ли ваши ядра запустив запрос из веб-браузера http://localhost:8080/solr/en-US/select?q=*:* (заменить "en-US" с тем, что вы назвали одним из ваших ядер)
...