Підручник Apache Solr: що таке Solr? Archiтектура
⚡ Розумний підсумок
Apache Solr — це програма з відкритим вихідним кодом, JavaПошуковий сервер на базі Apache Lucene. Він індексує великі обсяги текстових даних та повертає релевантні результати через REST API, пропонуючи повнотекстовий пошук, фасетування, масштабованість та як автономний, так і SolrCloud режими розгортання.

Що таке 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
- 2017: Випущено Solr 7.0, додавши фреймворк автомасштабування та JSON Facet API.
- 2019: Випущено Solr 8.0 з підтримкою вкладених документів та покращеними потоковими виразами.
- 2021: Lucene та Solr знову розділилися, і Solr став незалежним проектом верхнього рівня Apache.
- 2022: Solr 9.0 було випущено як першу версію, незалежну від Lucene, з додаванням векторного пошуку та підтримки Kubernetes.
- 2026: Випущено Solr 10.0 як останню основну версію
Особливості Apache Solr
Ось важливі функції Apache Solr:
- Автоматичне балансування навантаження
- Відкриті інтерфейси на основі стандартів – XML, JSON і HTTP
- Підтримуються рекомендації та пропозиції заклинань
- Підтримка автозаповнення та геопросторового пошуку
- Вбудований захист для автентифікації та авторизації
- Дозволяє виконувати багатомовний пошук за ключовими словами
- Автозаповнення/Передбачуваний тип
- Пакетна та потокова обробка
- Створювати моделі машинного навчання легко
- Спеціально оптимізований для великого обсягу веб-трафіку
- Комплексні інтерфейси захоплення HTML
- Підтримує конфігурацію Schema та Schemaless
- Фасетний пошук і фільтрація
- Центральна конфігурація для всього Cluster
Ключові терміни, що використовуються в Apache Solr
У цьому підручнику з пошукової системи Solr ми дізнаємося про ключові терміни, які використовуються в Apache Solr:
| Ключовий термін | Опис |
|---|---|
| Ядро Solr | Ядро Solr можна визначити як індекс текстів та полів, отриманих з усіх документів. Один екземпляр Solr може мати одне або кілька ядер Solr. Ядро = екземпляр 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 компрометує такі компоненти
Запит
Парсер запитів аналізує запити, які потрібно передати до Solr. Він перевіряє ваш запит на наявність синтаксичних помилок. Після розбору запитів він перетворює їх у формат, відомий Lucene.
Обробник запитів
Запити, надіслані до Apache Solr, обробляються обробником запитів. Запит може бути запитом на запит або запитом на оновлення індексу. Вам потрібно вибрати обробник запитів відповідно до ваших вимог. Щоб передати запит до Solr, вам потрібно зіставити обробник з певним URL кінцева точка.
відповідь Writer
Автор відповідей генеруватиме форматовані виходи для вхідних запитів. Він підтримує різні формати, такі як XML, JSON, CSV тощо. У вас можуть бути різні автори відповідей для різних типів запитів.
Обробник оновлення
Коли ви надсилаєте запит на оновлення до Apache Solr, він проходить через набір плагінів, сигнатуру, реєстрацію та індексацію. Цей процес відомий як обробник запитів на оновлення. Обробник оновлень також відповідає за модифікації, такі як додавання або видалення.ping подано тощо.
Програми 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 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-сумісне сховище даних
- Це не корисно як основне сховище даних. Корисно лише як вторинне сховище даних
- Не підтримує транзакції та розподілені транзакції
- Не підтримує об’єднання та складні запити
- Не оптимально для нормалізованих даних










