В этой главе мы обсудим архитектуру Apache Solr. На следующем рисунке показана блок-схема архитектуры Apache Solr.
Solr Architecture ─ Строительные блоки
Ниже приведены основные строительные блоки (компоненты) Apache Solr —
Обработчик запросов — запросы, которые мы отправляем в Apache Solr, обрабатываются этими обработчиками запросов. Запросы могут быть запросами запроса или запросами на обновление индекса. Исходя из нашего требования, нам нужно выбрать обработчик запроса. Чтобы передать запрос в Solr, мы обычно сопоставляем обработчик с определенной конечной точкой URI, и указанный запрос будет обслуживаться им.
Компонент поиска — компонент поиска — это тип (функция) поиска, предоставляемый в Apache Solr. Это может быть проверка орфографии, запрос, огранка, выделение совпадений и т. Д. Эти компоненты поиска зарегистрированы как обработчики поиска . Несколько компонентов могут быть зарегистрированы в обработчике поиска.
Парсер запросов — Парсер запросов Apache Solr анализирует запросы, которые мы передаем Solr, и проверяет запросы на наличие синтаксических ошибок. После анализа запросов он переводит их в формат, понятный Lucene.
Средство записи ответов — Средство записи ответов в Apache Solr — это компонент, который генерирует форматированный вывод для пользовательских запросов. Solr поддерживает форматы ответов, такие как XML, JSON, CSV и т. Д. У нас есть разные средства записи ответов для каждого типа ответа.
Анализатор / токенизатор — Lucene распознает данные в виде токенов. Apache Solr анализирует содержимое, разделяет его на токены и передает эти токены в Lucene. Анализатор в Apache Solr анализирует текст полей и генерирует поток токенов. Токенизатор разбивает поток токенов, подготовленный анализатором, на токены.
Процессор запросов на обновление — всякий раз, когда мы отправляем запрос на обновление в Apache Solr, запрос выполняется через набор плагинов (подпись, ведение журнала, индексирование), которые в совокупности известны как процессор запросов на обновление . Этот процессор отвечает за изменения, такие как удаление поля, добавление поля и т. Д.