Учебное пособие по Apache Solr: что такое Solr? Archiтектура и установка

Что такое Apache Solr?

Apache Solr — это платформа поискового сервера с открытым исходным кодом, написанная на Java язык Apache software foundation. Он высокомасштабируемый и готовый к развертыванию поисковый движок для обработки большого объема текстовых данных. Целью использования Apache Solr является индексация и поиск большого объема веб-контента и предоставление релевантного контента на основе поискового запроса.

Apache Solr — это HTTP-оболочка на основе REST-API вокруг системы полнотекстового поиска под названием Apache Lucene. Инвертированный индекс — это список слов, в котором каждое слово ссылается на документы, в которых оно хранится. Таким образом, можно получить все документы по поисковому запросу «guru99» с помощью простой операции «получить».

История Apache Solr

  • 1999: Дуг Каттинг опубликовал Lucene.
  • 2004: Solr был разработан в CNET Йоником Сили как собственный проект компании.
  • 2006: CNET публикует исходный код, передавая его Apache Software. Foundation
  • 2008: выпущен Solr 1.3 с расширенными возможностями поиска и повышением производительности.
  • 2010: Слияние Lucene и Solr
  • 2012: выпущена версия Solr 4.0 с новой функцией Solr Cloud.
  • 2016: выпущен Solr 6.0, предлагающий поддержку выполнения параллельных SQL-запросов.

Особенности Apache Solr

Вот важные особенности Apache Solr:

  • Автоматическая балансировка нагрузки
  • Открытые интерфейсы на основе стандартов — XML, JSON и HTTP
  • Поддерживаются рекомендации и предложения по написанию
  • Поддержка автозаполнения и геопространственного поиска
  • Встроенная система безопасности для аутентификации и авторизации
  • Позволяет выполнять многоязычный поиск по ключевым словам.
  • Автозаполнение/предсказание с опережением ввода
  • Пакетная и потоковая обработка
  • Создавать модели машинного обучения легко
  • Специально оптимизирован для большого объема веб-трафика.
  • Комплексные интерфейсы HTML Admiration
  • Поддерживает как схему, так и конфигурацию без схемы.
  • Фасетный поиск и фильтрация
  • Центральная конфигурация для всего Cluster

Ключевые термины, используемые в Apache Solr

Теперь в этом руководстве по поисковой системе Solr мы узнаем о ключевых терминах, используемых в Apache Solr:

Ключевой термин Описание
Ядро Solr Solr Core можно определить как индекс текстов и полей, полученных из всех документов. Один экземпляр Solr может иметь одно или несколько ядер Solr.

Ядро = экземпляр конфигурации Lucene Index + Solr.

Экземпляр Солра Solr Instance — это экземпляр Solr, работающий в Java Виртуальная машина (JVM). В автономном режиме он предлагает только один экземпляр, тогда как в облачном режиме вы можете иметь один или несколько экземпляров.
Индексирование Индексирование — это метод добавления содержимого документа в Solr Index. Apache Solr использует технику инвертированного индекса Apache Lucene.
Документ Это группа полей и их значений. Документ — это базовая единица данных, хранящихся в Apache Core. Одно ядро ​​Apache может содержать один или несколько документов.
Поиск Поле представляет собой пару ключ-значение, в которой хранятся фактические данные в документе. Ключ указывает имя поля, а значение содержит данные этого поля. Документ может иметь одно или несколько полей. Он используется Apache Solr для индексации содержимого документа.
Restful API Для связи с Solr не обязательно использовать Java программирование. Вместо этого Apache Solr предоставляет успокаивающие услуги общаться с ним. Вы можете отправлять документы и получать результаты в различных форматах файлов, таких как JSON, XML и CSV.
Полнотекстовый поиск Solr предлагает функции полнотекстового поиска, такие как токены, фразы, проверка орфографии, автозаполнение, подстановочные знаки и т. д.
Интерфейс администратора Solr предлагает простой в использовании, удобный и многофункциональный пользовательский интерфейс. Используя интерфейс, вы можете выполнять такие задачи, как управление журналами, добавление, удаление, обновление и поиск документов.
Текстоориентированность и сортировка по релевантности Apache Solr используется для поиска текстовых документов, и результаты предоставляются в соответствии с запросом пользователя.
Узел В облаке Solr каждый экземпляр называется узлом.
Cluster Кластер — это набор узлов.
Транспортировка Кластер имеет логический индекс, который также называется коллекцией.
осколок Это небольшая область коллекции, которая предлагает одну или несколько копий индекса.
Копия Реплика — это копия шарда, работающая на узле.
Лидер Это реплика шарда, которая отправляет запросы Solr Cloud на остальные реплики.

Apache Solr Archiтекстура

Теперь в этом руководстве по поиску Solr давайте узнаем об Apache Solr. Archiтекстура:

Apache Solr Archiтекстура
Apache Solr Archiтекстура

Apache Solr компрометирует следующие компоненты

запрос

Анализатор запросов анализирует запросы, которые вам необходимо передать в Solr. Он проверяет ваш запрос на наличие синтаксических ошибок. После анализа запросов он преобразуется в формат, известный Lucene.

Обработчик запросов

Запросы, отправляемые в Apache Solr, обрабатываются обработчиком запросов. Запрос может быть запросом запроса или запросом обновления индекса. Вам необходимо выбрать обработчик запроса в соответствии с вашими требованиями. Чтобы передать запрос в Solr, вам необходимо сопоставить обработчик с определенной конечной точкой URL-адреса.

Автор ответов

Модуль записи ответов будет генерировать форматированные выходные данные для входных запросов. Он поддерживает различные форматы, такие как XML, JSON, CSV.и т. д. У вас могут быть разные авторы ответов для разных типов запросов.

Обработчик обновлений

Когда вы отправляете запрос на обновление в Apache Solr, он проходит через набор плагинов, подпись, журналирование и индексирование. Этот процесс известен как обработчик запросов на обновление. Обработчик обновлений также отвечает за такие изменения, как добавление или удаление файлов и т. д.

Приложения Apache Solr

Процесс подачи заявки Применение
Интранет-портал
  • Легкий доступ к поиску
  • Запуск приложения
  • Новости и уведомления о событиях
  • Проверка подлинности единого входа
Федеративный клиент
  • Упрощенное представление
  • Поиск по всему контенту
  • Только авторизованный доступ
  • Просмотр документов
Наборы данных инструментов
  • Оптимизирован для ученых
  • Меню, зависящие от данных
  • Специализированные сетчатые фильтры
Нормативные документы
  • Предназначен для исследователей
  • Расширенный доступ к метаданным
  • Экспорт электронных таблиц
  • Посмотреть акселератор документов
Встроено в приложение PLM
  • Предлагает лучший опыт поиска, чем может обеспечить СУБД.
  • Модель безопасности с поздним связыванием
  • Действия документа, отображаемые на панели инструментов

Как установить Apache Solr?

Шаг 1) Открыть сайт и продолжить подписку
Перейти к этому ссылке., нажмите «Продолжить подписку».

Установите Apache Solr

Шаг 2) Нажмите «Принять условия».
На следующей странице нажмите «Принять условия».

Установите Apache Solr

Шаг 3) Подождите некоторое время
Затем подождите некоторое время, а затем через некоторое время запрос будет принят.

Установите Apache Solr

Шаг 4) Перейти к настройке
Обновите страницу и нажмите «Продолжить настройку».

Установите Apache Solr

Шаг 5) Продолжить запуск
Оставьте настройки по умолчанию и нажмите «Продолжить запуск».

Установите Apache Solr

Шаг 6) Оставьте настройки по умолчанию
На следующей странице оставьте настройки по умолчанию.

  • Убедитесь, что у вас есть pem-файл ключа.
  • Нажмите «Запустить»

Установите Apache Solr

Вы увидите это сообщение об успехе

Установите Apache Solr

Шаг 7) Обратите внимание на публичный DNS
В консоли EC2 обратите внимание на общедоступный DNS вашего экземпляра.

Установите Apache Solr

Шаг 8) Открыть ниже URL
Чтобы получить доступ к Solr, просто используйте URL-адрес

http://publicdns:8983

в нашем случае это становится

http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983

Установите Apache Solr

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

Установите Apache Solr

Elasticsearch против. Апач Солр

параметры Apache Solr Эластичный поиск
Природа Это проект с открытым исходным кодом. Не проект с открытым исходным кодом.
Статический статус Статический в shema.xml Статический в elasticsearch.yml
Формат XML, CSV, JSON Только JSON
Индекс Может быть перезагружен во время выполнения с перезагрузкой коллекции/ядра. Определяется во время создания индекса/типа с помощью вызова REST.
Документация Это хорошо задокументировано. Это плохо документировано.
Разделение осколков Возможное Невозможно

Преимущества Apache Solr

  • Помогает вам сократить время, затрачиваемое на поиск информации.
  • Это быстрая, простая, мощная и гибкая поисковая система.
  • Помогает вам сделать ваши продукты и услуги более доступными
  • Увеличение расходов клиентов на веб-приложение
  • Помогает вам улучшить взаимодействие с пользователем в веб-приложении для увеличения дохода и прибыли.
  • Комплексный интерфейс администрирования на основе HTML
  • Гибкость и адаптируемость благодаря конфигурации XML
  • Расширяемый плагин Archiтекстура
  • Высокомасштабируемая, надежная и отказоустойчивая поисковая система.
  • Поддерживает распределенное, шейдинг, репликацию, Clustering и Multi-Node Archiтекстура

Недостатки Apache Solr

  • Это не хранилище данных, совместимое с ACID.
  • Он бесполезен в качестве основного хранилища данных. Полезно только в качестве вторичного хранилища данных.
  • Не предлагает поддержку транзакций и распределенных транзакций.
  • Не поддерживаются соединения и сложные запросы
  • Не оптимально для нормализованных данных

Резюме

  • Apache Solr — это платформа с открытым исходным кодом. REST-API основанный поисковый сервер
  • Apache Solr был разработан в CNET Йоником Сили как собственный проект компании.
  • Apache Solr предлагает такие функции, как автозаполнение и геопространственный поиск.
  • Ядро Solr, экземпляр Solr, индексирование, документ, Restful API, полнотекстовый поиск, интерфейс администратора и т. д. — вот некоторые ключевые термины, используемые в Apache Solr.
  • Запрос, обработчик запросов, модуль записи запросов и обработчики обновлений являются важными компонентами Apache Solr.
  • Интранет-портал, интегрированный клиент, наборы данных приборов, нормативные документы, встроенные в приложения PLM — полезные приложения Apache Solr.
  • Apache Solr хорошо документирован по сравнению с эластичным поиском, который плохо документирован.
  • Самым большим преимуществом Apache Solr является то, что он помогает вам сократить время, затрачиваемое на поиск информации.
  • Основной недостаток этого приложения. Это не хранилище данных, совместимое с ACID.