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

Apache Solr компрометира следните компоненти

Запитване

Анализаторът на заявки анализира заявките, които трябва да предадете на Solr. Той проверява вашата заявка, за да провери синтактичните грешки. След анализиране на заявките, той се превежда във формат, който е познат на Lucene.

Обработчик на заявки

Заявките, изпратени до Apache Solr, се обработват от манипулатора на заявки. Заявката може да бъде заявка за заявка или заявка за актуализиране на индекс. Трябва да изберете манипулатора на заявки според вашите изисквания. За да предадете заявка към Solr, трябва да картографирате манипулатора към конкретна крайна точка на URL.

Писател на отговори

Писателят на отговор ще генерира форматирани изходи за входни заявки. Поддържа различни формати като XML, JSON, CSV.etc. Може да имате различни автори на отговори за различни видове заявки.

Обработчик на актуализация

Когато изпратите заявка за актуализиране до Apache Solr, тя се изпълнява през набор от добавки, подпис, регистриране, индексиране. Този процес е известен като процесор за актуализиране на заявки. Обработчикът на актуализация също отговаря за модификации като добавяне или премахване на файлове и т.н.

Приложения 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 Еластично търсене
природа Това е проект с отворен код. Не е проект с отворен код.
Статично състояние Статично в 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 съвместимо хранилище на данни