Урок за Apache Solr: Какво е Solr? Archiтекстура и инсталация
Какво е 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 заявки
Характеристики на 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.
Писател на отговори
Писателят на отговор ще генерира форматирани изходи за входни заявки. Поддържа различни формати като XML, JSON, CSV.etc. Може да имате различни автори на отговори за различни видове заявки.
Обработчик на актуализация
Когато изпратите заявка за актуализиране до 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 | Еластично търсене |
---|---|---|
природа | Това е проект с отворен код. | Не е проект с отворен код. |
Статично състояние | Статично в shema.xml | Статични в elasticsearch.yml |
формат | XML, CSV, JSON | Само JSON |
индекс | Може да се презарежда по време на изпълнение с презареждане на колекция/ядро | Дефиниран по време на създаване на индекс/тип с REST извикване |
документация | Добре е документирано. | Зле е документиран. |
Разделяне на парчета | Възможен | Не е възможно |
Предимства на Apache Solr
- Помага ви да намалите времето, необходимо за намиране на информация
- Това е бърза, проста, мощна и гъвкава търсачка
- Помага ви да направите вашите продукти и услуги по-достъпни
- Увеличете разходите на клиентите за уеб приложение
- Помага ви да подобрите потребителското изживяване на уеб приложението, за да увеличите приходите и печалбата
- Изчерпателен HTML базиран административен интерфейс
- Гъвкав и адаптивен с XML конфигурация
- Разширяем плъгин Archiтекстура
- Силно мащабируема, стабилна, устойчива на грешки търсачка
- Поддържа разпределение, засенчване, репликация, Clustering и Multi-Node Archiтекстура
Недостатъци на Apache Solr
- Това не е съвместимо с ACID хранилище за данни
- Не е полезно като основно хранилище на данни. Полезно само като вторично хранилище на данни
- Не предлага поддръжка за транзакции и разпределени транзакции
- Не поддържа съединения и сложни заявки
- Не е оптимално за нормализирани данни
Oбобщение
- Apache Solr е с отворен код REST-API базиран сървър за търсене
- Apache Solr е разработен в CNET от Yonik Seeley като вътрешен проект на част от компанията
- Apache Solr предлага функции като автоматично довършване и геопространствено търсене
- Solr Core, Solr Instance, Indexing, Document, Restful APIs, Full-text search, Admin Interface и др. са някои ключови термини, използвани в Apache Solr
- Query, Request handler, Request writer и update handlers са някои от важните компоненти на Apache Solr
- Интранет портал, обединен клиент, набори от данни за инструменти, нормативни документи, вградени в PLM приложение са полезни приложения на Apache Solr
- Apache Solr е добре документиран в сравнение с еластичното търсене, което е зле документирано
- Най-голямото предимство на Apache Solr е, че ви помага да намалите времето, необходимо за намиране на информация
- Основният недостатък на това приложение Не е ACID съвместимо хранилище на данни