Підручник 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 компрометує такі компоненти
Запит
Синтаксичний аналізатор запитів аналізує запити, які потрібно передати 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 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-сумісне сховище даних