Как установить Solr на Ubuntu 14.04
Введение
Solr — это платформа поисковой системы, основанная на Apache Lucene. Он написан на Java и использует библиотеку Lucene для реализации индексации. Доступ к нему можно получить с помощью различных REST API (например, XML и JSON). Это список функций с их сайта:
- Расширенные возможности полнотекстового поиска
- Оптимизировано для больших объемов веб-трафика.
- Открытые интерфейсы на основе стандартов — XML, JSON и HTTP
- Комплексные интерфейсы администрирования HTML
- Статистика сервера, доступная через JMX для мониторинга
- Линейное масштабирование, автоматическая репликация индекса, автоматический переход на другой ресурс и восстановление.
- Индексирование почти в реальном времени
- Гибкий и адаптируемый с конфигурацией XML
- Расширяемая архитектура плагинов
В этой статье я покажу вам, как установить Solr на Ubuntu двумя разными способами. Первый будет простым методом, а второй - более продвинутым. Я рекомендую второй метод, потому что он устанавливает более новую версию Solr во всех версиях Ubuntu, даже в самой последней версии 14.04 на момент написания.
Установка Solr с помощью apt-get (простой способ)
Если вы хотите установить Solr простым способом, вам следует использовать этот раздел статьи. Solr не работает в одиночку; ему нужен контейнер сервлетов Java, такой как Tomcat или Jetty. В этой статье мы будем использовать Jetty, хотя Tomcat так же прост. Во-первых, мы должны установить Java JDK. Если вы хотите установить пользовательскую версию, см. эту статью. Если вам нужна простая установка, выполните следующие команды:
sudo apt-get -y install openjdk-7-jdk
mkdir /usr/java
ln -s /usr/lib/jvm/java-7-openjdk-amd64 /usr/java/default
Ubuntu по умолчанию предоставляет 3 пакета Solr: solr-common
, пакет, содержащий фактический код Solr; solr-tomcat
, Solr интегрирован с Tomcat; и solr-jetty
, который похож на solr-tomcat
, но с веб-сервером Jetty. В этой статье мы установим solr-tomcat
, поэтому выполните следующую команду:
sudo apt-get -y install solr-tomcat
Теперь ваш экземпляр Solr должен быть доступен по адресу http://ВАШ_IP:8080/solr
. Пропустите следующий раздел об установке вручную, если вы хотите настроить Solr.
Установка Solr вручную
Чтобы установить Solr вручную, вам понадобится немного больше времени. Во-первых, мы должны установить Java JDK. Если вы хотите установить пользовательскую версию, см. эту статью. В этом разделе мы будем использовать Jetty вместо Tomcat. Если вам нужна простая установка, выполните следующую команду:
sudo apt-get -y install openjdk-7-jdk
mkdir /usr/java
ln -s /usr/lib/jvm/java-7-openjdk-amd64 /usr/java/default
Теперь мы можем начать настоящую установку Solr. Сначала загрузите все файлы и распакуйте их:
cd /opt
wget http://archive.apache.org/dist/lucene/solr/4.7.2/solr-4.7.2.tgz
tar -xvf solr-4.7.2.tgz
cp -R solr-4.7.2/example /opt/solr
cd /opt/solr
java -jar start.jar
Проверьте, работает ли он, посетив http://ВАШ_IP:8983/solr
. Когда это сработает, вернитесь в сеанс SSH и закройте окно с помощью Ctrl+C. Затем откройте файл /etc/default/jetty
(nano /etc/default/jetty
) и вставьте в него это:
NO_START=0 # Start on boot
JAVA_OPTIONS="-Dsolr.solr.home=/opt/solr/solr $JAVA_OPTIONS"
JAVA_HOME=/usr/java/default
JETTY_HOME=/opt/solr
JETTY_USER=solr
JETTY_LOGS=/opt/solr/logs
Сохраните его и откройте файл /opt/solr/etc/jetty-logging.xml
(nano /opt/solr/etc/jetty-logging.xml
) и вставьте это внутрь:
<пред>
<New id="ServerLog" class="java.io.PrintStream">
<Arg>
<New class="org.mortbay.util.RolloverFileOutputStream">
<Arg><SystemProperty name="jetty.logs" default="."/>/yyyy_mm_dd.stderrout.log</Arg>
<Arg type="boolean">false</Arg>
<Arg type="int">90</Arg>
<Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg>
<Get id="ServerLogName" name="datedFilename"/>
</New>
</Arg>
</New>
<Call class="org.mortbay.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call>
<Call class="java.lang.System" name="setErr"><Arg><Ref id="ServerLog"/></Arg></Call>
<Call class="java.lang.System" name="setOut"><Arg><Ref id="ServerLog"/></Arg></Call></Configure>
Затем создайте пользователя Solr и предоставьте ему разрешения:
sudo useradd -d /opt/solr -s /sbin/false solr
sudo chown solr:solr -R /opt/solr
После этого скачайте стартовый файл и настройте его на автоматический запуск, если это еще не было сделано:
sudo wget -O /etc/init.d/jetty http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk/jetty-distribution/src/main/resources/bin/jetty.sh
sudo chmod a+x /etc/init.d/jetty
sudo update-rc.d jetty defaults
Наконец запустите Jetty/Solr:
sudo /etc/init.d/jetty start
Теперь вы можете получить доступ к своей установке, как и раньше, по адресу http://ВАШ_IP:8983/solr
.
Настройка файла schema.xml для Solr
Сначала переименуйте /opt/solr/solr/collection1
в понятное имя, например, яблоки (используйте любое имя, которое хотите). (Это можно пропустить, если вы установили его с помощью apt-get
. В этом случае вместо этого вы можете выполнить следующую команду: cd /usr/share/solr
):
cd /opt/solr/solr
mv collection1 apples
cd apples
Кроме того, если вы установили Solr вручную, откройте файл core.properties (nano core.properties
) и измените имя на такое же.
Затем удалите каталог data
и измените schema.xml:
rm -R data
nano conf/schema.xml
Вставьте сюда свой собственный schema.xml. В репозитории Solr есть очень продвинутый schema.xml. Вы, наверное, можете найти их гораздо больше в Интернете, но я не буду вдаваться в подробности. Перезапустите Jetty/Tomcat:
Для простой установки.
sudo service tomcat6 restart
Для расширенной установки.
sudo /etc/init.d/jetty restart
Теперь, когда вы посещаете свой экземпляр Solr, вы должны где-то увидеть панель инструментов с коллекцией.
Заключение
Теперь вы успешно установили Solr и можете начать использовать его для своего сайта! Если вы не знаете, как создать файл schema.xml, найдите руководство, как это сделать. Затем найдите библиотеку для вашего языка программирования, которая соединяется с Solr.