Apache Solr

Apache Solr Nastaviť uzol

Apache Solr Nastaviť uzol

Časť 1: Nastavenie jedného uzla

Dnes je elektronické ukladanie dokumentov alebo údajov na pamäťové zariadenie rýchle a ľahké, taktiež je porovnateľne lacné. Používa sa referencia na názov súboru, ktorá má popisovať, o čom je dokument. Prípadne sa údaje uchovávajú v systéme na správu databáz (DBMS), ako je PostgreSQL, MariaDB alebo MongoDB, aby sme vymenovali len niekoľko možností. Niekoľko pamäťových médií je k počítaču pripojených lokálne alebo vzdialene, napríklad USB kľúč, interný alebo externý pevný disk, sieťové úložisko (NAS), cloudové úložisko alebo založené na GPU / Flash, ako napríklad v Nvidia V100 [10].

Naopak, reverzný proces, hľadanie správnych dokumentov v zbierke dokumentov, je dosť zložitý. Väčšinou si vyžaduje bezchybnú detekciu formátu súboru, indexáciu dokumentu a extrakciu kľúčových konceptov (klasifikácia dokumentu). Tu prichádza na rad rámec Apache Solr. Ponúka praktické rozhranie na vykonávanie uvedených krokov - zostavenie indexu dokumentu, prijímanie vyhľadávacích dotazov, skutočné vyhľadávanie a vrátenie výsledku vyhľadávania. Apache Solr tak tvorí jadro efektívneho výskumu na sile databáz alebo dokumentov.

V tomto článku sa dozviete, ako Apache Solr funguje, ako nastaviť jeden uzol, indexovať dokumenty, vyhľadávať a načítať výsledky.

Nasledujúce články stavajú na tomto článku a diskutujeme v nich o ďalších, konkrétnejších prípadoch použitia, ako je integrácia PostgreSQL DBMS ako zdroja údajov alebo vyvažovanie záťaže medzi viacerými uzlami.

O projekte Apache Solr

Apache Solr je rámec vyhľadávacieho modulu založený na výkonnom indexovom serveri vyhľadávania Lucene [2]. Je napísaný v jazyku Java a je udržiavaný pod záštitou Apache Software Foundation (ASF) [6]. Je voľne dostupný pod licenciou Apache 2.

Téma „Znova vyhľadať dokumenty a údaje“ hrá vo svete softvéru veľmi dôležitú úlohu a mnoho vývojárov sa ňou intenzívne zaoberá. Na webovej stránke Awesomeopensource [4] je uvedených viac ako 150 open-source projektov vyhľadávacieho nástroja. Od začiatku roku 2021 sú ElasticSearch [8] a Apache Solr / Lucene dva najlepšie psy, pokiaľ ide o hľadanie väčších súborov údajov. Vývoj vášho vyhľadávacieho modulu vyžaduje veľa vedomostí, Frank to robí s knižnicou AdvaS Advanced Search [3] založenou na Pythone od roku 2002.

Nastavenie Apache Solr:

Inštalácia a prevádzka Apache Solr nie sú zložité, je to iba celá séria krokov, ktoré musíte vykonať. Výsledok prvého dotazu na údaje môže trvať asi 1 hodinu. Apache Solr navyše nie je len záujmovým projektom, ale používa sa aj v profesionálnom prostredí. Preto je vybrané prostredie operačného systému určené na dlhodobé používanie.

Ako základné prostredie pre tento článok používame Debian GNU / Linux 11, čo je nadchádzajúce vydanie Debianu (začiatkom roku 2021) a očakáva sa, že bude k dispozícii v polovici roku 2021. V tomto tutoriáli očakávame, že ste ho už nainštalovali, buď ako natívny systém, vo virtuálnom stroji, ako je VirtualBox, alebo v kontajneri AWS.

Okrem základných komponentov potrebujete v systéme nainštalované nasledujúce softvérové ​​balíčky:

Tieto balíčky sú štandardnými súčasťami systému Debian GNU / Linux. Ak ešte nie sú nainštalované, môžete ich po jednom nainštalovať ako používateľ s právami správcu, napríklad root alebo prostredníctvom sudo, ako je uvedené nižšie:

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

Po príprave prostredia je druhým krokom inštalácia Apache Solr. Od tejto chvíle nie je Apache Solr k dispozícii ako bežný balík Debianu. Preto je potrebné načítať Apache Solr 8.8 zo sekcie na stiahnutie na webovej stránke projektu [9]. Pomocou príkazu wget nižšie ho uložte do adresára / tmp vo vašom systéme:

$ wget -O / tmp https: // sťahovanie.apache.org / lucene / solr / 8.8.0 / solr-8.8.0.tgz

Prepínač -O skracuje -výstupový dokument a núti wget ukladať načítaný tar.gz súbor v danom adresári. Archív má veľkosť zhruba 190 miliónov. Ďalej rozbaľte archív do adresára / opt pomocou tar. Vo výsledku nájdete dva podadresáre - / opt / solr a / opt / solr-8.8.0, zatiaľ čo / opt / solr je nastavený ako symbolické prepojenie s tým druhým. Apache Solr je dodávaný s inštalačným skriptom, ktorý spustíte nasledovne:

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

To má za následok vytvorenie používateľa systému Linux solr beží v službe Solr a jeho domovský adresár pod / var / solr vytvorí službu Solr pridanú s jej príslušnými uzlami a spustí službu Solr na porte 8983. Toto sú predvolené hodnoty. Ak s nimi nie ste spokojní, môžete ich počas inštalácie upraviť alebo dokonca skresliť, pretože inštalačný skript akceptuje príslušné prepínače na úpravy. Odporúčame vám pozrieť si dokumentáciu Apache Solr týkajúcu sa týchto parametrov.

Softvér Solr je usporiadaný v nasledujúcich adresároch:

Podrobnejšie si môžete o týchto adresároch prečítať v dokumentácii Apache Solr [12].

Správa Apache Solr:

Apache Solr beží ako služba na pozadí. Môžete ho spustiť dvoma spôsobmi, buď použitím systemctl (prvý riadok) ako používateľ s oprávneniami správcu, alebo priamo z adresára Solr (druhý riadok). Nižšie uvádzame oba príkazy terminálu:

# systemctl start solr
$ solr / bin / solr start

Zastavenie Apache Solr sa deje podobne:

# systemctl stop solr
$ solr / bin / solr stop

Rovnakým spôsobom ide o reštartovanie služby Apache Solr:

# systemctl restart solr
$ solr / bin / solr reštart

Ďalej je možné zobraziť stav procesu Apache Solr nasledovne:

# systemctl status solr
stav $ solr / bin / solr

Na výstupe je uvedený zoznam servisného súboru, ktorý bol spustený, a to zodpovedajúca časová pečiatka aj správy protokolu. Obrázok nižšie ukazuje, že služba Apache Solr bola spustená na porte 8983 procesom 632. Proces úspešne beží 38 minút.

Ak chcete zistiť, či je proces Apache Solr aktívny, môžete vykonať krížovú kontrolu pomocou príkazu ps v kombinácii s grep. To obmedzuje výstup ps na všetky procesy Apache Solr, ktoré sú momentálne aktívne.

# ps sekera | grep --color solr

Obrázok nižšie to demonštruje pre jeden proces. Vidíte volanie Javy sprevádzané zoznamom parametrov, napríklad porty na využitie pamäte (512 M) na počúvanie na 8983 pre dotazy, 7983 pre požiadavky na zastavenie a typ pripojenia (http).

Pridávajú sa používatelia:

Procesy Apache Solr bežia s konkrétnym používateľom menom solr. Tento používateľ je užitočný pri správe procesov spoločnosti Solr, nahrávaní údajov a odosielaní požiadaviek. Po nastavení používateľ solr nemá heslo a očakáva sa, že ho bude mať na prihlásenie, aby mohol pokračovať. Nastavte heslo pre používateľa ako root používateľa, zobrazí sa nasledovne:

# passwd solr

Správa solr:

Správa servera Apache Solr sa vykonáva pomocou panela nástrojov Solr. To je prístupné cez webový prehliadač z http: // localhost: 8983 / solr. Na nasledujúcom obrázku je znázornený hlavný pohľad.

Vľavo vidíte hlavné menu, ktoré vás vedie k podsekciám pre protokolovanie, správu jadier Solr, nastavenie Java a stavové informácie. Vyberte požadované jadro pomocou výberového poľa pod ponukou. Na pravej strane ponuky sa zobrazia príslušné informácie. Položka ponuky Dashboard zobrazuje ďalšie podrobnosti týkajúce sa procesu Apache Solr, ako aj aktuálneho zaťaženia a využitia pamäte.

Upozorňujeme, že obsah informačného panela sa mení v závislosti od počtu jadier Solr a dokumentov, ktoré boli indexované. Zmeny ovplyvnia položky ponuky aj príslušné informácie, ktoré sú viditeľné vpravo.

Pochopenie fungovania vyhľadávacích nástrojov:

Jednoducho povedané, vyhľadávače analyzujú dokumenty, kategorizujú ich a umožňujú vám vyhľadávať na základe ich kategorizácie. Proces v zásade pozostáva z troch etáp, ktoré sa nazývajú prehľadávanie, indexovanie a hodnotenie [13].

Plazenie je prvá etapa a popisuje proces, pomocou ktorého sa zhromažďuje nový a aktualizovaný obsah. Vyhľadávací modul používa roboty, ktoré sú tiež známe ako pavúky alebo prehľadávače, a preto prehľadáva dostupné dokumenty.

Druhá etapa sa nazýva indexovanie. V predtým zhromaždenom obsahu sa dá vyhľadávať transformáciou pôvodných dokumentov do formátu, ktorému vyhľadávač rozumie. Kľúčové slová a pojmy sú extrahované a uložené v (rozsiahlych) databázach.

Tretia etapa sa nazýva poradie a popisuje proces triedenia výsledkov vyhľadávania podľa ich relevantnosti s vyhľadávacím dotazom. Je bežné zobrazovať výsledky v zostupnom poradí, aby bol výsledok, ktorý má najväčšiu relevanciu pre vyhľadávací dopyt, prvý.

Apache Solr funguje podobne ako predtým popísaný trojstupňový proces. Rovnako ako populárny vyhľadávací nástroj Google, aj Apache Solr využíva postupnosť zhromažďovania, ukladania a indexovania dokumentov z rôznych zdrojov a sprístupňuje ich / prehľadáva takmer v reálnom čase.

Apache Solr používa na indexovanie dokumentov rôzne spôsoby vrátane nasledujúcich [14]:

  1. Používanie obslužného programu indexových požiadaviek pri nahrávaní dokumentov priamo do aplikácie Solr. Tieto dokumenty by mali byť vo formáte JSON, XML / XSLT alebo CSV.
  2. Používanie obslužného programu extrahovania žiadosti (Solr Cell). Dokumenty by mali byť vo formáte PDF alebo Office, ktoré podporuje server Apache Tika.
  3. Pomocou manipulátora importu údajov, ktorý prenáša údaje z databázy a katalogizuje ich pomocou názvov stĺpcov. Obslužný program na import údajov načíta ako zdroje údaje z e-mailov, informačných kanálov RSS, údajov XML, databáz a súborov vo formáte obyčajného textu.

Pri odoslaní požiadavky na vyhľadávanie sa v Apache Solr používa obslužný program dotazu. Obslužný program dotazu analyzuje daný dotaz na základe rovnakého konceptu obslužného nástroja indexu, aby sa zhodoval s dotazom a predtým indexovanými dokumentmi. Zápasy sú zoradené podľa ich vhodnosti alebo relevantnosti. Stručný príklad dotazovania je uvedený nižšie.

Nahrávanie dokumentov:

Kvôli jednoduchosti používame vzorový súbor údajov pre nasledujúci príklad, ktorý už poskytuje Apache Solr. Nahrávanie dokumentov sa vykonáva ako riešenie používateľa. Krok 1 je vytvorenie jadra s názvom techproducts (pre množstvo technologických položiek).

$ solr / bin / solr create -c techproducts

Všetko je v poriadku, ak uvidíte správu „Vytvorené nové kľúčové„ technologické výrobky ““. Krok 2 predstavuje pridanie údajov (údaje XML z exampledocs) do predtým vytvorených základných technologických produktov. Používa sa príspevok nástroja, ktorý je parametrizovaný parametrom -c (názov jadra) a dokumenty, ktoré sa majú nahrať.

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

Výsledkom bude výstup zobrazený nižšie a bude obsahovať celé volanie plus 14 dokumentov, ktoré boli indexované.

Dashboard tiež zobrazuje zmeny. V rozbaľovacej ponuke na ľavej strane sa zobrazuje nová položka s názvom techproducts a na pravej strane sa zmenil počet zodpovedajúcich dokumentov. Bohužiaľ, podrobné zobrazenie základných súborov údajov nie je možné.

V prípade, že je potrebné jadro / kolekciu odstrániť, použite nasledujúci príkaz:

$ solr / bin / solr delete -c techproducts

Dotazovacie údaje:

Apache Solr ponúka dve rozhrania na dopytovanie údajov: prostredníctvom webového panela a príkazového riadku. Nižšie vysvetlíme obe metódy.

Odosielanie dotazov prostredníctvom informačného panela Solr sa vykonáva nasledovne:

Príkazový riadok prijíma rovnaký dopyt ako na paneli Dashboard. Rozdiel je v tom, že musíte poznať názov polí dotazu. Ak chcete odoslať rovnaký dotaz, ako je uvedené vyššie, musíte v termináli spustiť nasledujúci príkaz:

$ zvlnenie
http: // localhost: 8983 / solr / techproducts / dotaz?q = ”manu”: ”Belkin

Výstup je vo formáte JSON, ako je uvedené nižšie. Výsledok pozostáva z hlavičky odpovede a skutočnej odpovede. Odozva sa skladá z dvoch súborov údajov.

Balenie:

Gratulujem! Úspešne ste dosiahli prvú etapu. Je nastavená základná infraštruktúra a vy ste sa naučili, ako nahrávať a dopytovať dokumenty.

V ďalšom kroku sa dozviete, ako spresniť dopyt, formulovať zložitejšie dotazy a pochopiť rôzne webové formuláre poskytované na stránke s dotazom Apache Solr. Budeme tiež diskutovať o tom, ako postprocesovať výsledok vyhľadávania pomocou rôznych výstupných formátov, ako sú XML, CSV a JSON.

O autoroch:

Jacqui Kabeta je environmentalistka, zanietená výskumníčka, trénerka a mentorka. Vo viacerých afrických krajinách pracovala v IT priemysle a v prostredí mimovládnych organizácií.

Frank Hofmann je IT vývojár, tréner a autor a najradšej pracuje z Berlína, Ženevy a Kapského Mesta. Spoluautor knihy Debian Package Management Book, ktorá je k dispozícii na stránke dpmb.org

Hry Najlepšie emulátory herných konzol pre systém Linux
Najlepšie emulátory herných konzol pre systém Linux
V tomto článku je uvedený zoznam populárneho softvéru na emuláciu herných konzol, ktorý je k dispozícii pre systém Linux. Emulácia je vrstva kompatibi...
Hry Najlepšie linuxové distribúcie pre hry v roku 2021
Najlepšie linuxové distribúcie pre hry v roku 2021
Operačný systém Linux prešiel dlhou cestou od svojho originálneho, jednoduchého serverového vzhľadu. Tento OS sa za posledné roky nesmierne vylepšil a...
Hry Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
V minulosti sa hranie hier považovalo iba za hobby, ale časom došlo v hernom priemysle k obrovskému nárastu z hľadiska technológie i počtu hráčov. Her...