Apache Solr

Apache Solr iestatiet mezglu

Apache Solr iestatiet mezglu

1. daļa: Viena mezgla iestatīšana

Šodien dokumentu vai datu elektroniska glabāšana atmiņas ierīcē ir gan ātra, gan vienkārša, turklāt tā ir salīdzinoši lēta. Izmantota ir faila nosaukuma atsauce, kas domāta dokumenta aprakstam. Alternatīvi, dati tiek glabāti datu bāzu pārvaldības sistēmā (DBVS), piemēram, PostgreSQL, MariaDB vai MongoDB, lai tikai nosauktu dažas iespējas. Vairāki datu nesēji ir lokāli vai attālināti savienoti ar datoru, piemēram, USB zibatmiņa, iekšējais vai ārējais cietais disks, Tīklam pievienotā krātuve (NAS), Mākoņkrātuve vai GPU / Flash bāzes, tāpat kā Nvidia V100 [10].

Turpretī reversais process, pareizo dokumentu atrašana dokumentu kolekcijā, ir diezgan sarežģīts. Tas galvenokārt prasa faila formāta atklāšanu bez vainas, dokumenta indeksēšanu un galveno jēdzienu izgūšanu (dokumentu klasifikācija). Šeit ienāk Apache Solr ietvars. Tas piedāvā praktisku saskarni, lai veiktu minētās darbības - dokumentu indeksa izveidi, meklēšanas vaicājumu pieņemšanu, faktisko meklēšanu un meklēšanas rezultātu atdošanu. Apache Solr tādējādi veido pamatu efektīvai datu bāzes vai dokumentu tvertnes izpētei.

Šajā rakstā jūs uzzināsiet, kā darbojas Apache Solr, kā izveidot vienu mezglu, indeksēt dokumentus, veikt meklēšanu un izgūt rezultātu.

Turpmākie raksti balstās uz šo, un tajos mēs apspriežam citus, specifiskākus lietošanas gadījumus, piemēram, PostgreSQL DBVS integrēšanu kā datu avotu vai slodzes līdzsvarošanu vairākos mezglos.

Par Apache Solr projektu

Apache Solr ir meklētājprogrammu ietvars, kas balstīts uz jaudīgo Lucene meklēšanas indeksa serveri [2]. Rakstīts Java valodā, tas tiek uzturēts Apache Software Foundation (ASF) [6] paspārnē. Tas ir brīvi pieejams ar Apache 2 licenci.

Tēmai “Atkal atrast dokumentus un datus” programmatūras pasaulē ir ļoti liela loma, un daudzi izstrādātāji ar to nodarbojas intensīvi. Vietnē Awesomeopensource [4] ir uzskaitīti vairāk nekā 150 meklētājprogrammu atvērtā koda projekti. Sākot ar 2021. gada sākumu, ElasticSearch [8] un Apache Solr / Lucene ir divi labākie suņi, meklējot lielākas datu kopas. Meklētājprogrammas izstrāde prasa daudz zināšanu, Frenks to dara, izmantojot Python balstīto AdvaS Advanced Search [3] bibliotēku kopš 2002. gada.

Apache Solr iestatīšana:

Apache Solr instalēšana un darbība nav sarežģīta, tā ir vienkārši virkne darbību, kas jums jāveic. Pirmā datu vaicājuma rezultātam atvēliet apmēram 1 stundu. Turklāt Apache Solr nav tikai hobija projekts, bet tiek izmantots arī profesionālā vidē. Tāpēc izvēlētā operētājsistēmas vide ir paredzēta ilgstošai lietošanai.

Kā šī raksta bāzes vidi mēs izmantojam Debian GNU / Linux 11, kas ir gaidāmais Debian izlaidums (sākot ar 2021. gada sākumu) un paredzams, ka tas būs pieejams 2021. gada vidū. Šajā apmācībā mēs sagaidām, ka esat to jau instalējis virtuālajā mašīnā, piemēram, VirtualBox, vai AWS konteinerā vai nu kā vietējo sistēmu.

Papildus pamatkomponentiem sistēmā ir jāinstalē šādas programmatūras pakotnes:

Šīs paketes ir Debian GNU / Linux standarta sastāvdaļas. Ja tas vēl nav instalēts, varat tos pēc kārtas instalēt kā lietotājs ar administratora tiesībām, piemēram, root vai izmantojot sudo, parādīts šādi:

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

Pēc vides sagatavošanas 2. solis ir Apache Solr instalēšana. Pašlaik Apache Solr nav pieejams kā parasta Debian pakotne. Tādēļ ir nepieciešams izgūt Apache Solr 8.8 no projekta vietnes lejupielādes sadaļas [9]. Izmantojiet zemāk esošo komandu wget, lai to saglabātu savas sistēmas direktorijā / tmp:

$ wget -O / tmp https: // lejupielādes.apache.org / lucene / solr / 8.8.0 / solr-8.8.0.tgz

Slēdzis -O saīsina -output-dokumentu un liek wget uzglabāt izgūto darvu.gz fails dotajā direktorijā. Arhīva lielums ir aptuveni 190M. Pēc tam, izmantojot darvu, izpakojiet arhīvu direktorijā / opt. Rezultātā jūs atradīsit divus apakšdirektorijus - / opt / solr un / opt / solr-8.8.0, turpretī / opt / solr ir iestatīts kā simboliska saite uz pēdējo. Apache Solr nāk ar iestatīšanas skriptu, kuru izpildāt pēc tam, un tas ir šāds:

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

Tā rezultātā tiek izveidots Linux lietotājs solr darbojas Solr pakalpojumā, kā arī viņa mājas direktorija zem / var / solr izveido Solr pakalpojumu, pievieno ar atbilstošajiem mezgliem un palaiž Solr pakalpojumu portā 8983. Šīs ir noklusējuma vērtības. Ja neesat ar viņiem apmierināts, instalēšanas laikā varat tos modificēt vai pat kavēt, jo instalēšanas skripts pieņem atbilstošus slēdžus iestatījumu pielāgošanai. Mēs iesakām jums apskatīt Apache Solr dokumentāciju par šiem parametriem.

Solr programmatūra ir sakārtota šādos direktorijos:

Par šiem direktorijiem varat lasīt Apache Solr dokumentācijā [12].

Apache Solr pārvaldība:

Apache Solr darbojas kā pakalpojums fonā. To var sākt divos veidos, vai nu izmantojot systemctl (pirmā rinda) kā lietotājs ar administratīvām atļaujām, vai tieši no direktorija Solr (otrā rinda). Zemāk ir uzskaitītas abas termināla komandas:

# systemctl start solr
$ solr / bin / solr sākums

Apache Solr apturēšana tiek veikta līdzīgi:

# systemctl stop solr
$ solr / bin / solr stop

Tas pats notiek, restartējot Apache Solr pakalpojumu:

# systemctl restart solr
$ solr / bin / solr restart

Turklāt Apache Solr procesa statusu var parādīt šādi:

# systemctl statusa solr
$ solr / bin / solr statuss

Izejā ir uzskaitīts sāktais pakalpojuma fails - gan atbilstošais laika zīmogs, gan žurnāla ziņojumi. Zemāk redzamais attēls parāda, ka Apache Solr pakalpojums tika palaists 8983 portā ar procesu 632. Process veiksmīgi darbojas 38 minūtes.

Lai redzētu, vai Apache Solr process ir aktīvs, varat arī pārbaudīt, izmantojot komandu ps kopā ar grep. Tas ierobežo ps izeju tikai visiem Apache Solr procesiem, kas pašlaik ir aktīvi.

# ps cirvis | grep - krāsu solr

Zemāk redzamais attēls to parāda vienam procesam. Tiek parādīts Java izsaukums, kuram pievienots parametru saraksts, piemēram, atmiņas izmantošanas (512M) porti, lai klausītos 8983 vaicājumus, 7983 apturēšanas pieprasījumus un savienojuma veidu (http).

Lietotāju pievienošana:

Apache Solr procesi darbojas ar noteiktu lietotāju ar nosaukumu solr. Šis lietotājs ir noderīgs, pārvaldot Solr procesus, augšupielādējot datus un nosūtot pieprasījumus. Pēc iestatīšanas lietotāja solr nav paroles, un ir paredzams, ka tā būs jāpiesakās, lai turpinātu darbu. Iestatiet lietotāja paroli, piemēram, lietotāja root, tā tiek parādīta šādi:

# passwd solr

Solr administrācija:

Apache Solr pārvaldība tiek veikta, izmantojot Solr informācijas paneli. Tam var piekļūt, izmantojot tīmekļa pārlūku, vietnē http: // localhost: 8983 / solr. Zemāk redzamais attēls parāda galveno skatu.

Kreisajā pusē redzat galveno izvēlni, kas novirza uz apakšsadaļām reģistrēšanai, Solr kodolu administrēšanai, Java iestatīšanai un informācijai par statusu. Izvēlieties vajadzīgo kodolu, izmantojot izvēles rūtiņu zem izvēlnes. Izvēlnes labajā pusē tiek parādīta atbilstošā informācija. Informācijas paneļa izvēlnes ieraksts parāda sīkāku informāciju par Apache Solr procesu, kā arī pašreizējo slodzi un atmiņas lietojumu.

Lūdzu, ņemiet vērā, ka informācijas paneļa saturs mainās atkarībā no Solr kodolu skaita un indeksētajiem dokumentiem. Izmaiņas ietekmē gan izvēlnes vienumus, gan atbilstošo informāciju, kas ir redzama labajā pusē.

Izpratne par meklētājprogrammu darbību:

Vienkārši runājot, meklētājprogrammas analizē dokumentus, klasificē tos un ļauj jums meklēt, pamatojoties uz to kategorijām. Būtībā process sastāv no trim posmiem, kurus sauc par indeksēšanu, indeksēšanu un ranžēšanu [13].

Rāpošana ir pirmais posms un apraksta procesu, kurā tiek vākts jauns un atjaunināts saturs. Meklētājprogramma izmanto robotus, kurus dēvē arī par zirnekļiem vai rāpuļiem, tāpēc tiek apzīmēts rāpošana, lai apskatītu pieejamos dokumentus.

Tiek saukts otrais posms indeksēšana. Iepriekš savāktais saturs tiek padarīts meklējams, pārveidojot dokumentu oriģinālus meklētājprogrammai saprotamā formātā. Atslēgvārdi un jēdzieni tiek iegūti un uzglabāti (masīvās) datu bāzēs.

Tiek saukts trešais posms ranga un apraksta meklēšanas rezultātu šķirošanas procesu atbilstoši to atbilstībai meklēšanas vaicājumam. Rezultāti tiek parādīti dilstošā secībā, lai vispirms tiktu iegūts rezultāts, kas visvairāk saistīts ar meklētāja vaicājumu.

Apache Solr darbojas līdzīgi iepriekš aprakstītajam trīspakāpju procesam. Tāpat kā populārā meklētājprogramma Google, arī Apache Solr izmanto dažādu avotu dokumentu apkopošanas, glabāšanas un indeksēšanas secību un padara tos pieejamus / meklējamus gandrīz reāllaikā.

Apache Solr izmanto dažādus dokumentu indeksēšanas veidus, tostarp šādus [14]:

  1. Izmantojot Index Request Handler, augšupielādējot dokumentus tieši Solr. Šiem dokumentiem jābūt JSON, XML / XSLT vai CSV formātos.
  2. Izmantojot izvilkšanas pieprasījumu apstrādātāju (Solr šūna). Dokumentiem jābūt PDF vai Office formātos, kurus atbalsta Apache Tika.
  3. Izmantojot datu importēšanas apdarinātāju, kas pārraida datus no datu bāzes un tos katalogizē, izmantojot kolonnu nosaukumus. Datu importētāja apdarinātājs kā avotus iegūst datus no e-pastiem, RSS plūsmām, XML datiem, datu bāzēm un vienkārša teksta failiem.

Vaicājumu apstrādātājs tiek izmantots Apache Solr, kad tiek nosūtīts meklēšanas pieprasījums. Vaicājumu apstrādātājs analizē doto vaicājumu, pamatojoties uz to pašu indeksa apstrādātāja koncepciju, lai tas atbilstu vaicājumam un iepriekš indeksētajiem dokumentiem. Spēles tiek sarindotas pēc to piemērotības vai atbilstības. Īss vaicājumu sniegšanas piemērs ir parādīts zemāk.

Dokumentu augšupielāde:

Vienkāršības labad šim piemēram mēs izmantojam datu kopas paraugu, kuru jau nodrošina Apache Solr. Dokumenti tiek augšupielādēti kā lietotāja solr. 1. solis ir kodola izveidošana ar nosaukumu techproducts (vairākām tehnikas vienībām).

$ solr / bin / solr izveidot -c tehnoloģiskos produktus

Viss ir kārtībā, ja redzat ziņojumu “Izveidoti jauni galvenie“ tehnoloģiskie produkti ””. 2. solī tiek pievienoti dati (XML dati no exampledocs) iepriekš izveidotajiem pamatproduktiem. Tiek izmantota rīka ziņa, kuru parametrizē -c (kodola nosaukums) un augšupielādējamie dokumenti.

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

Tā rezultātā tiks parādīta zemāk redzamā izeja, un tajā būs viss zvans, kā arī 14 dokumenti, kas ir indeksēti.

Arī informācijas panelī tiek parādītas izmaiņas. Kreisajā pusē esošajā nolaižamajā izvēlnē ir redzams jauns ieraksts ar nosaukumu techproducts, un labajā pusē ir mainīts atbilstošo dokumentu skaits. Diemžēl nav iespējams detalizēti apskatīt neapstrādātas datu kopas.

Gadījumā, ja kodols / kolekcija ir jānoņem, izmantojiet šādu komandu:

$ solr / bin / solr delete -c techproducts

Vaicājumu dati:

Apache Solr piedāvā divas saskarnes datu vaicāšanai: izmantojot tīmekļa informācijas paneli un komandrindu. Abas metodes mēs paskaidrosim tālāk.

Vaicājumu nosūtīšana, izmantojot Solr informācijas paneli, notiek šādi:

Komandrinda pieņem tādu pašu vaicājumu kā informācijas panelī. Atšķirība ir tāda, ka jums jāzina vaicājuma lauku nosaukums. Lai nosūtītu to pašu vaicājumu, kā iepriekš, terminālī ir jāizpilda šāda komanda:

$ čokurošanās
http: // localhost: 8983 / solr / techproducts / query?q = ”manu”: ”Belkins

Izeja ir JSON formātā, kā parādīts zemāk. Rezultāts sastāv no atbildes galvenes un faktiskās atbildes. Atbilde sastāv no divām datu kopām.

Iesaiņošana:

Apsveicu! Pirmo posmu jūs esat sasniedzis ar panākumiem. Ir izveidota pamata infrastruktūra, un jūs esat iemācījies augšupielādēt un vaicāt dokumentus.

Nākamais solis aptvers to, kā precizēt vaicājumu, noformulēt sarežģītākus vaicājumus un izprast dažādas tīmekļa veidlapas, kuras nodrošina Apache Solr vaicājuma lapa. Mēs arī apspriedīsim, kā pēcapstrādāt meklēšanas rezultātu, izmantojot dažādus izvades formātus, piemēram, XML, CSV un JSON.

Par autoriem:

Žakijs Kabeta ir vides aizstāvis, dedzīgs pētnieks, treneris un padomdevējs. Vairākās Āfrikas valstīs viņa ir strādājusi IT nozarē un NVO vidē.

Frenks Hofmans ir IT izstrādātājs, treneris un autors un dod priekšroku strādāt no Berlīnes, Ženēvas un Keiptaunas. Debian Package Management Book līdzautors, kas pieejams vietnē dpmb.org

Kā parādīt OSD pārklājumu pilnekrāna Linux lietotnēs un spēlēs
Spēlējot pilnekrāna spēles vai lietojot lietotnes bez atrautības pilnekrāna režīmā, jūs varat izslēgt no attiecīgās sistēmas informācijas, kas redzama...
Top 5 spēļu tveršanas kartes
Mēs visi esam redzējuši un mīlējuši straumēšanas spēles pakalpojumā YouTube. PewDiePie, Jakesepticye un Markiplier ir tikai daži no labākajiem spēlētā...
Kā izstrādāt spēli Linux
Pirms desmit gadiem maz Linux lietotāju varētu paredzēt, ka viņu iecienītā operētājsistēma kādu dienu būs populāra spēļu platforma komerciālām videosp...