Установка Solr в Unix/Linux

Установка Solr в Unix/Linux

Solr (произносится «солар») — ПО для полнотекстового поиска. Данная утилита имеет открытый исходный код на JAVA, и имеет Apache Lucene.

Основные функции Solr:

  • Полнотекстовый поиск,
  • Подсветка результатов,
  • Распределенная индексация,
  • Балансировка нагрузки,
  • Фасетный поиск,
  • Динамическая кластеризация,
  • Интеграция с базами данных,
  • Обработка документов со сложным форматом (например, Word, PDF),
  • Автоматическое восстановление после отказа и восстановление данных,
  • Имеет централизованное управление конфигурацией.

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

Так как в Solr есть возможность распределенного поиска и репликации, Solr хорошо масштабируем. По состоянию на май 2016 года Solr является вторым по популярности поисковым движком. У Solr есть HTTP/XML и JSON API, что делает возможным использовать Solr из всех популярных языков программирования. Также Solr можно очень гибко настраивать и подключать к нему внешние модули.

Установка Solr в CentOS/Fedora/RedHat

Сейчас я, выполню установку и настройку базовую конфигурацию Apache Solr на CentOS 7.

Первое что необходимо сделать перед установкой солара — установить JAVA. Я описывал процесс установки в своих статьях:

Установка JAVA (JDK) на CentOS/RHEL/Fedora

Узнать размер Java Heap Memory Size

Установка переменных JAVA_HOME / PATH в Linux

И так, смотрим какая версия джавы имеется на ОС:

Сейчас необходимо скачать сам solr, по этому — выполняем команду:

PS: На момент написания статьи, используеться самая новая версия ПО.

Выполняем расспаковку:

Смотрим что имеется:

И, собственно — запускаем установку:

Вывод:

Проверим, запустился ли сервер:

Для остановки используем:

Для запуска, можно использовать:

Или, чтобы выполнить перезапуск, выполните:

Добавим порт в Firewall

По умолчанию (я ничего не менял), солар использует 8983-й порт и его нужно добавить в межсетевой интерфейс. Т.к я использую CentOS 7, то данное действие будет выглядеть следующим образом:

PS: Если имеется CentOS 5/6 — выполните:

Проыерям что соединения идут:

Как видно с вывода — у меня все отлично.

Добавим службу в автозагрузку:

PS: Если имеется CentOS 5/6 — выполните:

Настройка — завершена.

Установка Solr в Debian/Ubuntu

Первое что необходимо сделать перед установкой солара — установить JAVA. Я описывал процесс установки в своих статьях:

Узнать размер Java Heap Memory Size

Установка переменных JAVA_HOME / PATH в Linux

Установка Java на Debian/Ubuntu/Mint

Установка JAVA 9 (JDK9) на Debian/Ubuntu/LinuxMint

И так, смотрим какая версия джавы имеется на ОС:

Сейчас необходимо скачать сам solr, по этому — выполняем команду:

PS: На момент написания статьи, используеться самая новая версия ПО.

Выполняем расспаковку:

Смотрим что имеется:

И, собственно — запускаем установку:

Проверим, запустился ли сервер:

Для остановки используем:

Для запуска, можно использовать:

Или, чтобы выполнить перезапуск, выполните:

Добавим порт в Firewall

По умолчанию (я ничего не менял), солар использует 8983-й порт и его нужно добавить в межсетевой интерфейс. Т.к я использую Debian 8 (такие же действия и на новых версиях Ubuntu), то данное действие будет выглядеть следующим образом:

PS: Если имеется более ранние версии ОС — выполните:

Проыерям что соединения идут:

Как видно с вывода — у меня все отлично.

Добавим службу в автозагрузку:

PS: Если имеется CentOS 5/6 — выполните:

Настройка — завершена.

Установка Solr в Mac OS X

Ставим brew для начала — Установка brew в Mac OS X и потом выполняем поиск пакета:

У меня вывод следующий:

Чтобы поставить пакет, используем:

И осталось настроить….

Настройка Solr в Unix/Linux

И так, установку выполнили и solr сервер работает. Сейчас я создам 1-й мой core (имя которго — test_solr_core):

Давайте попробуем использовать его! Открываем ссылку:

Где:

  • 192.168.13.211 — мой локальный IP. Можете использовать домен.
  • 8983 — Порт на котором висит соляр.

Получаем что-то типа:

первый запуск solr в Unix/Linux

первый запуск solr в Unix/Linux

Так же, можно передать Solr дополнительные параметры JVM, например:

Запустите Solr с заданным значением MAXHEAP min (-Xms) и max (-Xmx) для JVM:

Можно передать порт:

Чтобы проверить все ли впорядке (правильно ли установился solr, правильные ли имеет права и т.д и т.п) используйте:

Можно запустить хелз_чек и проверить что и как работает, например:

Получим вывод:

Скопируем конфиг (сделаем бэкап файла):

Открываем файл:

Находим строку:

И заменяем на:

И перезапускаем соляр:

PS: Не забываем добавить правило в SELinux, ну или выключите его вообще, вот пример — отключить SELinux на CentOS

Только для указанных IP адресов, будет доступен соляр, а для всех остальных покажет:

Запуск Solr в режиме SolrCloud

Чтобы запустить solr в режиме SolrCloud, используем следующую команду:

Если не получиться запустить, всегда можно использовать «-force» ключ:

PS: Запуст соляра от рута — не желателен, по этому, выполняем:

Пример моей тестовой конфигурации:

Данный пример взят из официальной документации. Идем дальше…

Запускаем индекс techproducts данных:

Чтобы найти что-то в поиске, используем:

В моем случае:

Но это выполнение в самом браузере. Солр поддерживает поиск и через консоль, для этого, выполняем:

Все работает, идем дальше.

Давайте попробуем поискать что-то конкретное, например:

Или:

Еще пример:

Поиск по фразе, можно замутить вот так:

Для объединение поисков можно использовать:

Если вы используете curl, вы должны закодировать символ +, поскольку он имеет зарезервированную цель в URL-адресах (кодируя символ пробела). Кодировка для + будет равна %2B.

ИЛИ:

Иногда бывает так, что он не может получить нужные директории из-за того, что нехватает прав — исправить можно:

Чтобы удалить созданный пример, используем:

Т.к это был тостовый пример, то я его удалил…. И создаю новую коллекцию:

Получаем вывод:

Давайте сейчас вольем в новую колекцию некоторые данные:

Можно поиграться с кверями, но мы идем дальше…..

Перед тем как мы начнем индексирование, создаем поле «catchall» селдующим образом:

После чего, перейдем к индексированию (для JSON):

PS: Делаем от юзера:

После чего, перейдем к индексированию (для XML):

PS: Делаем от юзера:

Помимо предоставления результатов поиска, запрос Solr может возвращать количество документов, содержащих каждое уникальное значение во всем результирующем наборе. Например, выполним квери для работы с facet:

Еще одно:

Для остановки всех нод что запустили, выполняем:

Я на дополню данную статью при первой необходимости.

Вот и все, статья «Установка Solr в Unix/Linux» завершена.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *