...

вторник, 13 августа 2013 г.

Поиск на Drupal 7 с помощью Apache Solr ч.6 — настраиваем apache solr + tomcat



После долгого перерыва, я решил написать очередную статью об apache solr и drupal. В этот раз речь пойдёт о настройке tomcat для того, чтобы apache solr мог работать, как демон. В интернете уже есть много разных мануалов по настройке tomcat, но не всегда они подходят для работы с drupal. В частности я настраивал tomcat и apache solr работал прекрасно. Но после того, как я подменил стандартные конфиги солра на конфиги друпала, солр перестал работать (начали вылетать java эксепшены).



Итак перейдем к делу.
Моя конфигурация



Ubuntu server 12.04

Apache solr 3.6.1

Drupal 7

Модули для поиска — search api и search_api_solr
А теперь установка



Устанавливаем tomcat

sudo apt-get install tomcat6




Скачиваем и распаковываем apache solr во временную директорию

mkdir /tmp/solr/

cd /tmp/solr/

wget http://archive.apache.org/dist/lucene/solr/3.6.1/apache-solr-3.6.1.tgz

tar xzvf apache-solr-3.6.1.tgz




Затем создаем директорию в которой будет работать на сервер Apache solr и копируем туда необходимые файлы

sudo mkdir /var/solr

Копируем war файл
sudo cp apache-solr-3.6.1/dist/apache-solr-3.6.1.war /var/solr/solr.war

Примеры ядер и конфиг для использования нескольких ядер.
sudo cp -R apache-solr-3.6.1/example/multicore/* /var/solr/

sudo chown -R tomcat6 /var/solr/




Связываем tomcat с нашим сервером Apache solr

echo -e '<Context docBase="/var/solr/solr.war" debug="0" privileged="true" allowLinking="true" crossContext="true">\n<Environment name="solr/home" type="java.lang.String" value="/var/solr" override="true" />\n</Context>' | sudo tee -a /etc/tomcat6/Catalina/localhost/solr.xml

echo 'TOMCAT6_SECURITY=no' | sudo tee -a /etc/default/tomcat6




Теперь в файле /etc/init.d/tomcat6 необходимо указать домашнюю директорию solr — /var/solr. Для этого редактируем параметр JAVA_OPTS

sudo nano /etc/init.d/tomcat6




И выставляем там:

if [ -z "$JAVA_OPTS" ]; then
JAVA_OPTS="$JAVA_OPTS -Dsolr.home=/var/solr"
fi




После этого перезагружаем tomcat:

sudo /etc/init.d/tomcat6 restart




Убеждаемся что все работает, для этого можно перейти по урлу localhost:8080/solr/

В случае успеха, вы должны увидеть примерно такую картинку


По умолчанию уже есть два ядра, но для того чтобы можно было использовать конфиг и схему из search_api для друпала, создадим новое ядро.

Сперва вписываем его в /var/solr/solr.xml


В конце файла описаны ядра, в моем случае, после добавления ядра, конфиг выглядит следующим образом:



<solr persistent="false">

<!--
adminPath: RequestHandler path to manage cores.
If 'null' (or absent), cores will not be manageable via request handler
-->
<cores adminPath="/admin/cores">
<core name="core0" instanceDir="core0" />
<core name="core1" instanceDir="core1" />
<core name="drupal" instanceDir="drupal" />
</cores>
</solr>




Затем копируем файлы из скачанного apache solr для нашего ядра которое будет работать с Drupal.

sudo mkdir /var/solr/drupal

sudo cp -R /tmp/solr/apache-solr-3.6.1/example/solr/* /var/solr/drupal




Кладем туда конфиг и схему из модуля search_api_solr

Снова перезагружаем tomcat командой



sudo /etc/init.d/tomcat6 restart




Устанавливаем настройки солра в Drupal


Теперь индексируем контент и наслаждаемся работой поиска!


Статьи вроде хорошие, но активности что-то мало. В некоторых статьях из этого цикла даже комментариев нет, вдруг никому не интересно? Буду рад конструктивным замечаниям в комментариях.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends: 'You Say What You Like, Because They Like What You Say' - http://www.medialens.org/index.php/alerts/alert-archive/alerts-2013/731-you-say-what-you-like-because-they-like-what-you-say.html


Комментариев нет:

Отправить комментарий