Підручник 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 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
  • Підтримує конфігурацію Schema та Schemaless
  • Фасетний пошук і фільтрація
  • Центральна конфігурація для всього Cluster

Ключові терміни, що використовуються в Apache Solr

У цьому підручнику з пошукової системи Solr ми дізнаємося про ключові терміни, які використовуються в Apache Solr:

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

Core = екземпляр Lucene Index + конфігурація Solr

Примірник Solr Екземпляр Solr – це екземпляр Solr, що працює в Java Віртуальна машина (JVM). В автономному режимі він пропонує лише один екземпляр, тоді як у хмарному режимі ви можете мати один або кілька екземплярів.
Індексація Індексування — це метод додавання вмісту документа до індексу Solr. Apache Solr використовує техніку інвертованого індексу Apache Lucene.
Документ Це група полів і їх значень. Документ — це базова одиниця даних, що зберігається в Apache Core. Одне ядро ​​Apache може містити один або кілька документів.
Поле Поле — це пара ключ-значення, яка зберігає фактичні дані в документі. Ключ визначає назву поля та значення, яке містить дані цього поля. Документ може мати одне або декілька полів. Він використовується Apache Solr для індексації вмісту документа.
Restful API Щоб спілкуватися з Solr, не обов'язково використовувати Java програмування. Натомість надає Apache Solr відпочинкові послуги щоб спілкуватися з ним. Ви можете надсилати документи й отримувати результати в різних форматах файлів, як-от JSON, XML і CSV.
Повнотекстовий пошук Solr пропонує такі функції для повнотекстового пошуку, як маркери, фрази, перевірка орфографії, автозаповнення, символ підстановки тощо.
Інтерфейс адміністратора Solr пропонує простий у користуванні, зручний, функціональний інтерфейс користувача. За допомогою інтерфейсу можна виконувати такі завдання, як керування журналами, додавання, видалення, оновлення та пошук документів.
Орієнтований на текст і впорядкований за релевантністю Apache Solr використовується для пошуку текстових документів, а результати видаються відповідно до запиту користувача.
вузол У хмарі Solr кожен окремий екземпляр відомий як вузол.
Cluster Кластер — це сукупність вузлів.
COLLECTION Кластер має логічний індекс, який також називають колекцією.
осколок Це невелика частина колекції, яка пропонує одну або кілька копій покажчика.
Копія Репліка — це копія фрагмента, яка працює у вузлі.
Лідер Це репліка шарда, яка надсилає запити 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
  • Пропонує кращий пошук, ніж RDBMS
  • Модель безпеки з пізнім прив’язуванням
  • Документуйте дії, які відображаються на панелі інструментів

Як встановити 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 Vs. Apache Solr

параметри Apache Solr Еластичний пошук
Nature Це проект з відкритим кодом. Не є проектом з відкритим кодом.
Статичний стан Статика в 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 Core, Solr Instance, Indexing, Document, Restful API, Full-text search, Admin Interface тощо – це деякі ключові терміни, які використовуються в Apache Solr
  • Запит, обробник запитів, записувач запитів і обробники оновлень є одними з важливих компонентів Apache Solr
  • Інтранет-портал, об’єднаний клієнт, набори даних приладів, нормативні документи, вбудовані в програму PLM є корисними програмами Apache Solr
  • Apache Solr добре задокументований порівняно з еластичним пошуком, який погано задокументований
  • Найбільшою перевагою Apache Solr є те, що він допомагає вам скоротити кількість часу, необхідного для пошуку інформації
  • Основний недолік цієї програми Це не ACID-сумісне сховище даних