Учебное пособие по 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 компрометирует следующие компоненты
запрос
Анализатор запросов анализирует запросы, которые вам необходимо передать в Solr. Он проверяет ваш запрос на наличие синтаксических ошибок. После анализа запросов он преобразуется в формат, известный Lucene.
Обработчик запросов
Запросы, отправляемые в Apache Solr, обрабатываются обработчиком запросов. Запрос может быть запросом запроса или запросом обновления индекса. Вам необходимо выбрать обработчик запроса в соответствии с вашими требованиями. Чтобы передать запрос в Solr, вам необходимо сопоставить обработчик с определенной конечной точкой URL-адреса.
Автор ответов
Модуль записи ответов будет генерировать форматированные выходные данные для входных запросов. Он поддерживает различные форматы, такие как XML, JSON, CSV.и т. д. У вас могут быть разные авторы ответов для разных типов запросов.
Обработчик обновлений
Когда вы отправляете запрос на обновление в Apache Solr, он проходит через набор плагинов, подпись, журналирование и индексирование. Этот процесс известен как обработчик запросов на обновление. Обработчик обновлений также отвечает за такие изменения, как добавление или удаление файлов и т. д.
Приложения Apache Solr
Процесс подачи заявки | Применение |
---|---|
Интранет-портал |
|
Федеративный клиент |
|
Наборы данных инструментов |
|
Нормативные документы |
|
Встроено в приложение PLM |
|
Как установить Apache Solr?
Шаг 1) Открыть сайт и продолжить подписку
Перейти к этому ссылке., нажмите «Продолжить подписку».
Шаг 2) Нажмите «Принять условия».
На следующей странице нажмите «Принять условия».
Шаг 3) Подождите некоторое время
Затем подождите некоторое время, а затем через некоторое время запрос будет принят.
Шаг 4) Перейти к настройке
Обновите страницу и нажмите «Продолжить настройку».
Шаг 5) Продолжить запуск
Оставьте настройки по умолчанию и нажмите «Продолжить запуск».
Шаг 6) Оставьте настройки по умолчанию
На следующей странице оставьте настройки по умолчанию.
- Убедитесь, что у вас есть pem-файл ключа.
- Нажмите «Запустить»
Вы увидите это сообщение об успехе
Шаг 7) Обратите внимание на публичный DNS
В консоли EC2 обратите внимание на общедоступный DNS вашего экземпляра.
Шаг 8) Открыть ниже URL
Чтобы получить доступ к Solr, просто используйте URL-адрес
http://publicdns:8983
в нашем случае это становится
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
Примечание. Если у вас возникли проблемы с доступом к экземпляру, измените правила входящего и исходящего трафика в своем экземпляре, чтобы разрешить весь трафик, как показано в примере запроса 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.