Підручник Apache Solr: що таке Solr? Archiтектура

⚡ Розумний підсумок

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

  • 🔍 Визначення Solr: Відкритий код, Java пошуковий сервер, побудований на Apache Lucene.
  • 🗂️ Індексація: Використовує інвертований індекс для зберігання та швидкого пошуку текстових документів.
  • 🌐 REST API: Зв'язок через HTTP з JSON, XML або CSV; ні Java вимагається.
  • 🧩 Archiтекстура: Парсер запитів, обробник запитів, засіб запису відповідей та обробник оновлень.
  • 🇧🇷 Solr проти Elasticsearch: Solr підтримує XML/CSV/JSON та розділення шардів; обидва використовують Lucene.
  • ☁️ Розгортання: Автономний режим або SolrCloud з вузлами, шардами, репліками та кластерами.

Підручник Apache Solr

Що таке 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 Archiтектура
Apache Solr Archiтектура

Apache Solr компрометує такі компоненти

Запит

Парсер запитів аналізує запити, які потрібно передати до Solr. Він перевіряє ваш запит на наявність синтаксичних помилок. Після розбору запитів він перетворює їх у формат, відомий Lucene.

Обробник запитів

Запити, надіслані до Apache Solr, обробляються обробником запитів. Запит може бути запитом на запит або запитом на оновлення індексу. Вам потрібно вибрати обробник запитів відповідно до ваших вимог. Щоб передати запит до Solr, вам потрібно зіставити обробник з певним URL кінцева точка.

відповідь Writer

Автор відповідей генеруватиме форматовані виходи для вхідних запитів. Він підтримує різні формати, такі як XML, JSON, CSV тощо. У вас можуть бути різні автори відповідей для різних типів запитів.

Обробник оновлення

Коли ви надсилаєте запит на оновлення до Apache Solr, він проходить через набір плагінів, сигнатуру, реєстрацію та індексацію. Цей процес відомий як обробник запитів на оновлення. Обробник оновлень також відповідає за модифікації, такі як додавання або видалення.ping подано тощо.

Програми 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 Lucene. Solr має повністю відкритий вихідний код, підтримує XML, CSV та JSON, дозволяє розділення шардів та добре документований. Elasticsearch приймає лише JSON, не підтримує розділення шардів та часто обирається для аналітики в режимі реального часу.

Ядро Solr — це індекс текстів і полів, отриманих з документів, у поєднанні з його конфігурацією Solr. Один екземпляр Solr може містити одне або декілька ядер, кожне з яких діє як незалежний індекс Lucene.

Apache Solr — це HTTP-обгортка на основі REST-API навколо Apache Lucene. Java повнотекстовий пошуковий механізм. Lucene надає інвертований індекс, тоді як Solr додає масштабованість, конфігурацію, REST API та інтерфейс адміністратора.

Штучний інтелект може додавати семантичний та векторний пошук, моделі навчання ранжування та розуміння запитів поверх Solr. Це видає більш релевантні результати, обробляє синоніми та наміри, а також покращує автозаповнення та рекомендації.

Так. Штучний інтелект може рекомендувати поля схеми, аналізатори та налаштування кешу, виявляти повільні запити та пропонувати стратегії шардування та реплікації, helpping команди налаштовують Solr на продуктивність та релевантність з меншою кількістю спроб та помилок.

Підсумуйте цей пост за допомогою: