Установка Solr 5.2.1 на Ubuntu 14.04

Solr – это написанная в Java платформа полнотекстового поиска на основе Apache Lucene. Для выполнения индексации Solr использует библиотеку Lucene. Платформа Solr доступна через различные REST-интерфейсы, например, XML и JSON. На сайте проекта отмечены следующие функции Solr:

  • Усовершенствованный полнотекстовый поиск;
  • Оптимизация под высокий веб-трафик;
  • Открытые интерфейсы (XML, JSON и HTTP);
  • Интуитивно понятные HTML-интерфейсы администратора;
  • Статистика сервера, доступная для мониторинга JMX;
  • Линейное масштабирование, автоматические репликация, аварийное переключение и восстановление;
  • Индексация в реальном времени;
  • Гибкость и адаптируемость с настройками XML;
  • Расширяемость за счет плагинов.

В данном руководстве показано, как установить Solr при помощи бинарного дистрибутива.

Требования

Для выполнения руководства понадобится:

1: Установка Java

Для корректной работы Solr нужно предварительно установить Java.

Примечание: Подробные инструкции по установке Java можно найти в этой статье.

Используйте apt-get, чтобы установить python-software-properties:

sudo apt-get install python-software-properties

Вместо пакетов default-jdk или default-jre установите последнюю версию Java 8. Для этого нужно добавить неофициальный репозиторий Java:

sudo add-apt-repository ppa:webupd8team/java

Обновите список пакетов:

sudo apt-get update

Установите Java 8 при помощи apt-get. Примите условия Oracle Binary Code License Agreement для Java SE Platform Products и JavaFX.

sudo apt-get install oracle-java8-installer

2: Установка Solr

Теперь можно приступать к установке Solr 5.2.1. Для начала загрузите дистрибутив Solr.

Откройте эту страницу и найдите подходящее зеркало. Скопируйте ссылку на solr-5.2.1.tgz. Для примера в руководстве используется http://apache.mirror1.spango.com/lucene/solr/5.2.1/.

Загрузите файлы в домашний каталог:

cd ~
wget http://apache.mirror1.spango.com/lucene/solr/5.2.1/solr-5.2.1.tgz

Извлеките установочный файл сервиса:

tar xzf solr-5.2.1.tgz solr-5.2.1/bin/install_solr_service.sh --strip-components=2

Установите Solr как сервис при помощи скрипта:

sudo bash ./install_solr_service.sh solr-5.2.1.tgz

Убедитесь, что сервер запущен, запросив его состояние:

sudo service solr status

На экране должен появиться такой вывод:

Found 1 Solr nodes:
Solr process 2750 running on port 8983
. . .

3: Создание коллекции

Примечание: В терминологии Solr коллекцией называется логический индекс, связанный с набором конфигураций и состоящий из нескольких шардов.

Solr позволяет создавать большое количество коллекций, в данном разделе показано, как создать одну такую коллекцию.

Для этого используется следующая команда:

sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"

Примечание: Во избежание ошибок данная команда была запущена пользователем Solr.

Рассмотрим команду подробнее:

  • gettingstarted – имя коллекции;
  • -n – задаёт набор конфигураций (по умолчанию Solr поддерживает три набора; в данном случае используется бессхемный набор).

Теперь созданная коллекция будет заполняться данными. Схема содержит только одно стандартное поле – id, остальные поля – динамические. Чтобы просмотреть схему, откройте файл /opt/solr/server/solr/gettingstarted/conf/schema.xml.

4: Добавление и запрос документов

Теперь нужно ознакомиться с веб-интерфейсом Solr и попробовать добавить в коллекцию несколько документов.

Доступ к веб-интерфейсу можно получить по ссылке:

http://your_server_ip:8983/solr

Веб-интерфейс содержит много полезной информации, которая может быть использована для устранения любых проблем и ошибок, возникших во время работы.

Коллекции делятся на так называемые ядра (cores), потому веб-интерфейс содержит множество ссылок на них. На данный момент коллекция gettingstarted содержит всего одно ядро по имени gettingstarted. В левой панели найдите меню Core Selector; с его помощью можно найти и просмотреть ядро gettingstarted, а также получить сведения о нём.

Открыв ядро gettingstarted, выберите Documents. Этот раздел хранит данные, доступные для поиска в Solr. Как помните, при создании коллекции использовалась бессхемная настройка, потому сейчас можно использовать любое поле. Добавьте в поле Document(s) следующий документ:

{
"number": 1,
"president": "George Washington",
"birth_year": 1732,
"death_year": 1799,
"took_office": "1789-04-30",
"left_office": "1797-03-04",
"party": "No Party"
}

Чтобы добавить документ в индекс, нажмите Submit document. Через несколько секунд появится вывод:

Status: success
Response:
{
"responseHeader": {
"status": 0,
"QTime": 509
}
}

Можно добавить ещё несколько документов с похожей или разной структурой, но для примера одного документа достаточно.

Затем выберите Query в левой панели, чтобы запросить только что добавленный документ. Нажав на Execute Query, вы увидите на экране запрашиваемый документ.

Примечание: Максимальное количество документов на одной странице – 10.

{
"responseHeader": {
"status": 0,
"QTime": 58,
"params": {
"q": "*:*",
"indent": "true",
"wt": "json",
"_": "1436827539345"
}
},
"response": {
"numFound": 1,
"start": 0,
"docs": [
{
"number": [
1
],
"president": [
"George Washington"
],
"birth_year": [
1732
],
"death_year": [
1799
],
"took_office": [
"1789-04-30T00:00:00Z"
],
"left_office": [
"1797-03-04T00:00:00Z"
],
"party": [
"No Party"
],
"id": "1ce12ed2-add9-4c65-aeb4-a3c6efb1c5d1",
"_version_": 1506622425947701200
}
] }
}

Заключение

Итак, поисковая платформа Solr успешно установлена и готова к использованию на сайте. Конечно, нельзя охватить все функции Solr в рамках одного руководства; поэкспериментируйте с её настройками самостоятельно.

Tags: , , , ,

Добавить комментарий