Apache Solr

Apache Solr Настройка на възел

Apache Solr Настройка на възел

Част 1: Настройване на единичен възел

Днес електронното съхраняване на вашите документи или данни на устройство за съхранение е едновременно бързо и лесно, също е сравнително евтино. Използва се препратка към име на файл, която има за цел да опише за какво става въпрос в документа. Като алтернатива данните се съхраняват в Система за управление на бази данни (СУБД) като PostgreSQL, MariaDB или MongoDB, за да посочим само няколко опции. Няколко носители за съхранение са или локално, или отдалечено свързани към компютъра, като USB памет, вътрешен или външен твърд диск, Мрежово прикачено хранилище (NAS), Облачно съхранение или GPU / Флаш, както в Nvidia V100 [10].

Обратно, обратният процес, намирането на правилните документи в колекция от документи, е доста сложен. Най-често изисква откриване на файловия формат без грешка, индексиране на документа и извличане на ключовите понятия (класификация на документа). Тук идва рамката на Apache Solr. Той предлага практичен интерфейс за извършване на посочените стъпки - изграждане на индекс на документ, приемане на заявки за търсене, извършване на действителното търсене и връщане на резултат от търсенето. По този начин Apache Solr формира ядрото за ефективно изследване на база данни или силоз за документи.

В тази статия ще научите как работи Apache Solr, как да настроите единичен възел, да индексирате документи, да извършите търсене и да извлечете резултата.

Последващите статии се основават на тази и в тях обсъждаме други, по-специфични случаи на употреба, като например интегриране на PostgreSQL DBMS като източник на данни или балансиране на натоварването в множество възли.

Относно проекта Apache Solr

Apache Solr е рамка за търсачки, базирана на мощния сървър за индекс за търсене Lucene [2]. Написана на Java, тя се поддържа под шапката на Apache Software Foundation (ASF) [6]. Той е свободно достъпен под лиценза Apache 2.

Темата „Намерете документи и данни отново“ играе много важна роля в света на софтуера и много разработчици се занимават интензивно с нея. Уебсайтът Awesomeopensource [4] изброява повече от 150 проекта с отворен код на търсачката. От началото на 2021 г. ElasticSearch [8] и Apache Solr / Lucene са двете най-добри кучета, когато става въпрос за търсене на по-големи набори от данни. Разработването на вашата търсачка изисква много знания, Франк прави това с базираната на Python AdvaS Advanced Search [3] библиотека от 2002 г. насам.

Настройване на Apache Solr:

Инсталирането и експлоатацията на Apache Solr не са сложни, а просто цяла поредица от стъпки, които трябва да се извършат от вас. Оставете около 1 час за резултата от първата заявка за данни. Освен това Apache Solr не е просто хоби проект, но се използва и в професионална среда. Следователно избраната среда на операционната система е предназначена за дългосрочна употреба.

Като основна среда за тази статия използваме Debian GNU / Linux 11, която е предстоящата версия на Debian (от началото на 2021 г.) и се очаква да бъде налична в средата на 2021 г. За този урок очакваме, че вече сте го инсталирали - или като родна система, във виртуална машина като VirtualBox или контейнер AWS.

Освен основните компоненти, имате нужда от следните софтуерни пакети, които да бъдат инсталирани в системата:

Тези пакети са стандартни компоненти на Debian GNU / Linux. Ако все още не са инсталирани, можете да ги инсталирате едновременно като потребител с администраторски права, например root или чрез sudo, показани както следва:

# apt-get install curl default-java libcommons-cli-java libxerces2-java libtika-java

След като подготвих околната среда, втората стъпка е инсталирането на Apache Solr. Към момента Apache Solr не се предлага като обикновен пакет на Debian. Следователно се изисква да изтеглите Apache Solr 8.8 от раздела за изтегляне на уебсайта на проекта [9] първо. Използвайте командата wget по-долу, за да я съхраните в директорията / tmp на вашата система:

$ wget -O / tmp https: // изтегляния.апаш.org / луцен / сол / 8.8.0 / solr-8.8.0.tgz

Ключът -O съкращава -output-документа и кара wget да съхранява извлечения катран.gz файл в дадената директория. Архивът има размер около 190 милиона. След това разопаковайте архива в директорията / opt с помощта на tar. В резултат на това ще намерите две поддиректории - / opt / solr и / opt / solr-8.8.0, докато / opt / solr е настроен като символична връзка към последния. Apache Solr се предлага със скрипт за настройка, който изпълнявате по-нататък, както следва:

# / opt / solr-8.8.0 / bin / install_solr_service.ш

Това води до създаването на Linux потребителски solr работи в услугата Solr плюс неговата домашна директория под / var / solr установява услугата Solr, добавена със съответните й възли и стартира услугата Solr на порт 8983. Това са стойностите по подразбиране. Ако не сте доволни от тях, можете да ги модифицирате по време на инсталацията или дори по-късно, тъй като инсталационният скрипт приема съответните превключватели за настройка на настройката. Препоръчваме ви да разгледате документацията на Apache Solr относно тези параметри.

Софтуерът Solr е организиран в следните директории:

По-подробно можете да прочетете за тези директории в документацията на Apache Solr [12].

Управление на Apache Solr:

Apache Solr работи като услуга във фонов режим. Можете да го стартирате по два начина, като използвате systemctl (първи ред) като потребител с администраторски разрешения или директно от директорията Solr (втори ред). Ние изброяваме и двете терминални команди по-долу:

# systemctl start solr
$ solr / bin / solr start

Спирането на Apache Solr се извършва по подобен начин:

# systemctl stop solr
$ solr / bin / solr stop

По същия начин върви и рестартирането на услугата Apache Solr:

# systemctl рестартирайте solr
$ solr / bin / solr рестартиране

Освен това състоянието на процеса Apache Solr може да бъде показано както следва:

# systemctl status solr
$ solr / bin / solr статус

Изходът изброява стартирания файл на услугата, както съответните времеви клеймо, така и съобщения в дневника. Фигурата по-долу показва, че услугата Apache Solr е стартирана на порт 8983 с процес 632. Процесът се изпълнява успешно в продължение на 38 минути.

За да видите дали процесът Apache Solr е активен, можете също да проверите кръстосано, като използвате командата ps в комбинация с grep. Това ограничава изхода на ps до всички процеси на Apache Solr, които са активни в момента.

# ps брадва | grep --цветен разтворител

Фигурата по-долу демонстрира това за един процес. Виждате обаждането на Java, придружено от списък с параметри, например портове за използване на паметта (512M), които да се слушат на 8983 за заявки, 7983 за заявки за спиране и тип връзка (http).

Добавяне на потребители:

Процесите Apache Solr се изпълняват със специфичен потребител на име solr. Този потребител е полезен при управление на процесите на Solr, качване на данни и изпращане на заявки. При настройката потребителят solr няма парола и се очаква да има такава за влизане, за да продължи по-нататък. Задайте парола за потребителския solr като потребителски корен, тя се показва както следва:

# passwd solr

Администрация на Solr:

Управлението на Apache Solr се извършва с помощта на таблото за управление на Solr. Това е достъпно чрез уеб браузър от http: // localhost: 8983 / solr. Фигурата по-долу показва основния изглед.

Вляво виждате главното меню, което ви отвежда до подразделите за регистриране, администриране на ядра Solr, настройка на Java и информация за състоянието. Изберете желаното ядро, като използвате полето за избор под менюто. От дясната страна на менюто се показва съответната информация. Записът в менюто на таблото показва допълнителни подробности относно процеса на Apache Solr, както и текущото натоварване и използването на паметта.

Моля, имайте предвид, че съдържанието на таблото за управление се променя в зависимост от броя ядра на Solr и документите, които са индексирани. Промените засягат както елементите от менюто, така и съответната информация, която се вижда вдясно.

Разбиране на начина на работа на търсачките:

Просто казано, търсачките анализират документи, категоризират ги и ви позволяват да извършите търсене въз основа на тяхната категоризация. По принцип процесът се състои от три етапа, които се наричат ​​обхождане, индексиране и класиране [13].

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

Извиква се вторият етап индексиране. Събраното по-рано съдържание е направено за търсене чрез трансформиране на оригиналните документи във формат, който разбира търсачката. Ключови думи и концепции се извличат и съхраняват в (масивни) бази данни.

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

Apache Solr работи подобно на описания по-рано тристепенен процес. Подобно на популярната търсачка Google, Apache Solr използва последователност от събиране, съхранение и индексиране на документи от различни източници и ги прави достъпни / търсещи в почти реално време.

Apache Solr използва различни начини за индексиране на документи, включително следното [14]:

  1. Използване на манипулатор на индексни заявки при качване на документи директно в Solr. Тези документи трябва да бъдат във формати JSON, XML / XSLT или CSV.
  2. Използване на манипулатора за извличане на заявки (клетка Solr). Документите трябва да са в PDF или Office формати, които се поддържат от Apache Tika.
  3. Използване на манипулатора за импортиране на данни, който предава данни от база данни и ги каталогизира, като използва имена на колони. Манипулаторът за импортиране на данни извлича данни от имейли, RSS емисии, XML данни, бази данни и обикновени текстови файлове като източници.

При изпращане на заявка за търсене в Apache Solr се използва манипулатор на заявки. Манипулаторът на заявки анализира дадената заявка въз основа на същата концепция на манипулатора на индекса, за да съответства на заявката и предварително индексираните документи. Мачовете се класират според тяхната уместност или уместност. Кратък пример за заявка е показан по-долу.

Качване на документи:

За по-голяма простота използваме примерен набор от данни за следния пример, който вече е предоставен от Apache Solr. Качването на документи се извършва като потребителски разрешител. Стъпка 1 е създаването на ядро ​​с името techproducts (за редица технически артикули).

$ solr / bin / solr създават -c технологични продукти

Всичко е наред, ако видите съобщението „Създадено ново ядро„ технически продукти ““. Стъпка 2 е добавяне на данни (XML данни от exampledocs) към създадените преди това основни технически продукти. Използва се публикацията на инструмента, която се параметризира с -c (име на ядрото) и документите, които трябва да бъдат качени.

$ solr / bin / post -c techproducts solr / example / exampledocs / *.xml

Това ще доведе до изхода, показан по-долу, и ще съдържа цялото обаждане плюс 14-те документа, които са индексирани.

Също така, таблото за управление показва промените. Нов запис с име techproducts се вижда в падащото меню отляво, а броят на съответните документи е променен от дясната страна. За съжаление, не е възможен подробен преглед на суровите набори от данни.

В случай, че ядрото / колекцията трябва да бъдат премахнати, използвайте следната команда:

$ solr / bin / solr delete -c techproducts

Данни за заявки:

Apache Solr предлага два интерфейса за заявки за данни: чрез уеб базираното табло за управление и командния ред. Ще обясним и двата метода по-долу.

Изпращането на заявки чрез таблото за управление на Solr се извършва, както следва:

Командният ред приема същата заявка като в таблото за управление. Разликата е, че трябва да знаете името на полетата за заявка. За да изпратите същата заявка като по-горе, трябва да изпълните следната команда в терминал:

$ къдряне
http: // localhost: 8983 / solr / techproducts / query?q = ”manu”: ”Belkin

Изходът е във формат JSON, както е показано по-долу. Резултатът се състои от заглавието на отговора и действителния отговор. Отговорът се състои от два набора от данни.

Обобщавайки:

Честито! Постигнахте първия етап с успех. Основната инфраструктура е настроена и вие научихте как да качвате и да заявявате документи.

Следващата стъпка ще обхване как да прецизирате заявката, да формулирате по-сложни заявки и да разберете различните уеб формуляри, предоставени от страницата за заявки на Apache Solr. Също така ще обсъдим как да обработваме резултата от търсенето след използване на различни изходни формати като XML, CSV и JSON.

За авторите:

Jacqui Kabeta е природозащитник, запален изследовател, треньор и ментор. В няколко африкански държави тя е работила в ИТ индустрията и средите на НПО.

Франк Хофман е ИТ разработчик, обучител и автор и предпочита да работи от Берлин, Женева и Кейптаун. Съавтор на книгата за управление на пакети Debian, достъпна от dpmb.орг

Полезни инструменти за геймърите на Linux
Ако искате да играете игри на Linux, има вероятност да сте използвали приложения и помощни програми като Wine, Lutris и OBS Studio, за да подобрите иг...
HD Remastered Games за Linux, които никога преди не са имали издание на Linux
Много разработчици и издатели на игри излизат с HD ремастер на стари игри, за да удължат живота на франчайза, моля феновете, които искат съвместимост ...
Как да използвам AutoKey за автоматизиране на Linux игри
AutoKey е програма за автоматизация на настолни компютри за Linux и X11, програмирана в Python 3, GTK и Qt. Използвайки неговата функционалност за скр...