Урок за Apache Solr: Какво е Solr? Archiтекстура
⚡ Умно обобщение
Apache Solr е с отворен код, Java-базиран сървър за търсене, изграден върху Apache Lucene. Той индексира големи обеми от текстово-ориентирани данни и връща подходящи резултати чрез REST API, предлагайки пълнотекстово търсене, фасетиране, мащабируемост и както самостоятелни, така и SolrCloud режими на внедряване.

Какво е Apache Solr?
Apache Solr е сървърна платформа за търсене с отворен код, написана на Java език от софтуерната фондация Apache. Тя е силно мащабируема и готова за внедряване на търсачка за обработка на голям обем текстови данни. Целта на използването на Apache Solr е да индексира и търси голямо количество уеб съдържание и да предоставя подходящо съдържание въз основа на заявка за търсене.
Apache Solr е базирана на REST-API HTTP обвивка около пълнотекстовата търсачка, наречена Apache Lucene. Обърнат индекс е списък от думи, където всяка дума се свързва с документите, в които се съхранява. По този начин се получават всички документи за заявката за търсене „guru99“ с проста операция „get“.
История на Apache Solr
- 1999: Дъг Кътинг публикува Lucene
- 2004: Solr е разработен в CNET от Yonik Seeley като вътрешен проект на част от компанията
- 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:
| Ключов термин | Descriptйон |
|---|---|
| Solr Core | Solr Core може да се дефинира като индекс от текстове и полета, получени от всички документи. Един Solr екземпляр може да има едно или няколко Solr ядра. Core = екземпляр на Lucene Index + Solr конфигурация |
| Solr инстанция | Solr екземпляр е екземпляр на Solr, работещ в Java Виртуална машина (JVM). В самостоятелен режим той предлага само един екземпляр, докато в облачен режим можете да имате един или повече екземпляри. |
| Индексирането | Индексирането е метод за добавяне на съдържанието на документа към Solr Index. Apache Solr използва техниката на обърнат индекс на Apache Lucene. |
| Документ | Това е група от полета и техните стойности. Документът е основна единица данни, съхранявана в Apache Core. Едно ядро на Apache може да съдържа един или повече документи. |
| Област | Полето е двойка ключ-стойност, която съхранява действителните данни в документ. Ключът указва името на полето, а стойността съдържа данните за това поле. Документът може да има едно или няколко полета. Използва се от Apache Solr за индексиране на съдържанието на документа. |
| Спокойни API | За да комуникирате със Solr, не е необходимо да сте използвали Java програмиране. Вместо това Apache Solr предоставя спокойни услуги да общува с него. Можете да изпращате документи и да получавате резултати в различни файлови формати като JSON, XML и CSV. |
| Пълен текстово търсене | Solr предлага функции за търсене в пълен текст, като токени, фрази, проверка на правописа, автоматично попълване, заместващ знак и др. |
| Администраторски интерфейс | Solr предлага лесен за използване, лесен за използване потребителски интерфейс, базиран на функции. С помощта на интерфейса можете да изпълнявате задачи като управление на регистрационни файлове, добавяне, изтриване, актуализиране и търсене на документи. |
| Ориентиран към текста и сортиран по уместност | Apache Solr се използва за търсене на текстови документи и резултатите се доставят според заявката на потребителя. |
| Възел | В облака Solr всеки един екземпляр е известен като възел. |
| Cluster | Клъстерът е колекция от възли. |
| колекция | Клъстерът има логически индекс, който също се нарича колекция. |
| елитра | Това е малка част от колекцията, която предлага единични или множество реплики на индекса. |
| реплика | Репликата е копие на фрагмент, който се изпълнява във възел. |
| Водач | Това е реплика на шарда, който изпраща заявките на Solr Cloud за останалите реплики. |
Apache Solr Archiтекстура
Сега в този урок за търсене на Solr, нека научим за Apache Solr Archiтекстура:

Apache Solr компрометира следните компоненти
Запитване
Анализаторът на заявки анализира заявките, които трябва да предадете на Solr. Той проверява заявката ви за синтактични грешки. След анализ на заявките, тя се превежда във формат, познат на Lucene.
Обработчик на заявки
Заявките, изпратени до Apache Solr, се обработват от обработчика на заявки. Заявката може да бъде заявка за запитване или заявки за актуализиране на индекс. Трябва да изберете обработчика на заявки според вашите изисквания. За да предадете заявка до Solr, трябва да съпоставите обработчика с конкретен... URL крайна точка.
Отговор Writer
Писателят на отговор ще генерира форматирани изходи за входни заявки. Поддържа различни формати като XML, JSON, CSV.etc. Може да имате различни автори на отговори за различни видове заявки.
Обработчик на актуализация
Когато изпратите заявка за актуализация към 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 | Еластично търсене |
|---|---|---|
| природа | Това е проект с отворен код. | Не е проект с отворен код. |
| Статично състояние | Статично в shema.xml | Статични в elasticsearch.yml |
| формат | XML, CSV, JSON | Само JSON |
| индекс | Може да се презарежда по време на изпълнение с презареждане на колекция/ядро | Дефиниран по време на създаване на индекс/тип с REST извикване |
| документация | Добре е документирано. | Зле е документиран. |
| Разделяне на парчета | Възможен | Не е възможно |
Предимства на Apache Solr
- Помага ви да намалите времето, необходимо за намиране на информация
- Това е бърза, проста, мощна и гъвкава търсачка
- Помага ви да направите вашите продукти и услуги по-достъпни
- Увеличете разходите на клиентите за уеб приложение
- Помага ви да подобрите потребителското изживяване на уеб приложението, за да увеличите приходите и печалбата
- Изчерпателен HTML базиран административен интерфейс
- Гъвкав и адаптивен с XML конфигурация
- Разширяем плъгин Archiтекстура
- Силно мащабируема, стабилна, устойчива на грешки търсачка
- Поддържа разпределение, засенчване, репликация, Clustering и Multi-Node Archiтекстура
Недостатъци на Apache Solr
- Това не е съвместимо с ACID хранилище за данни
- Не е полезно като основно хранилище на данни. Полезно само като вторично хранилище на данни
- Не предлага поддръжка за транзакции и разпределени транзакции
- Не поддържа съединения и сложни заявки
- Не е оптимално за нормализирани данни










