Apache Solr

Apache Solr postavlja čvor

Apache Solr postavlja čvor

1. dio: Postavljanje jednog čvora

Danas je elektroničko pohranjivanje vaših dokumenata ili podataka na uređaju za pohranu i brzo i jednostavno, također je usporedno jeftino. U upotrebi je referenca imena datoteke koja treba da opiše o čemu se radi u dokumentu. Podaci se mogu čuvati u Sustavu za upravljanje bazama podataka (DBMS) kao što su PostgreSQL, MariaDB ili MongoDB da navedemo samo nekoliko opcija. Nekoliko medija za pohranu lokalno je ili daljinski povezano s računalom, poput USB sticka, unutarnjeg ili vanjskog tvrdog diska, NAS (Storage Attached Storage), Cloud Storage ili GPU / Flash, kao u Nvidiji V100 [10].

Suprotno tome, obrnuti postupak, pronalaženje pravih dokumenata u zbirci dokumenata, prilično je složen. Uglavnom zahtijeva otkrivanje formata datoteke bez greške, indeksiranje dokumenta i izdvajanje ključnih pojmova (klasifikacija dokumenata). Tu dolazi okvir Apache Solr. Nudi praktično sučelje za izvođenje spomenutih koraka - izrada indeksa dokumenata, prihvaćanje upita za pretraživanje, stvarno pretraživanje i vraćanje rezultata pretraživanja. Apache Solr tako čini jezgru za učinkovito istraživanje silosa baze podataka ili dokumenata.

U ovom ćete članku naučiti kako Apache Solr radi, kako postaviti jedan čvor, indeksirati dokumente, izvršiti pretragu i dohvatiti rezultat.

Daljnji članci temelje se na ovome i u njima raspravljamo o drugim, specifičnijim slučajevima upotrebe, poput integriranja PostgreSQL DBMS-a kao izvora podataka ili uravnoteženja opterećenja na više čvorova.

O projektu Apache Solr

Apache Solr je okvir tražilice zasnovan na moćnom poslužitelju indeksa pretraživanja Lucene [2]. Napisano na Javi, održava se pod okriljem Apache Software Foundation (ASF) [6]. Slobodno je dostupan pod licencom Apache 2.

Tema „Ponovno pronađi dokumente i podatke“ igra vrlo važnu ulogu u svijetu softvera i mnogi se programeri s njom intenzivno bave. Web stranica Awesomeopensource [4] navodi više od 150 projekata s otvorenim kodom tražilice. Početkom 2021. godine ElasticSearch [8] i Apache Solr / Lucene dva su glavna psa kada je riječ o traženju većih skupova podataka. Razvijanje vaše tražilice zahtijeva puno znanja, Frank to radi s bibliotekom AdvaS Advanced Search [3] koja se temelji na Pythonu od 2002.

Postavljanje Apache Solr:

Instalacija i rad Apache Solr-a nisu složeni, jednostavno je čitav niz koraka koji morate provesti sami. Dopustite oko 1 sat za rezultat prvog upita za podatke. Nadalje, Apache Solr nije samo hobi projekt već se koristi i u profesionalnom okruženju. Stoga je odabrano okruženje operativnog sustava dizajnirano za dugotrajnu upotrebu.

Kao osnovno okruženje za ovaj članak koristimo Debian GNU / Linux 11, koje je predstojeće Debianovo izdanje (početkom 2021), a očekuje se da će biti dostupno sredinom 2021. Za ovaj tutorial očekujemo da ste ga već instalirali, bilo kao izvorni sustav, u virtualni stroj poput VirtualBox ili AWS spremnik.

Osim osnovnih komponenata, na sustav su vam potrebni sljedeći softverski paketi:

Ovi su paketi standardne komponente Debian GNU / Linuxa. Ako još nisu instalirani, možete ih instalirati u jednom potezu kao korisnik s administrativnim pravima, na primjer, root ili putem sudo-a, prikazano na sljedeći način:

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

Nakon pripreme okoliša, drugi korak je instalacija Apache Solr-a. Od sada, Apache Solr nije dostupan kao redovni Debian paket. Stoga je potrebno dohvatiti Apache Solr 8.8 iz odjeljka za preuzimanje web stranice projekta [9]. Upotrijebite donju naredbu wget da biste je spremili u / tmp direktorij vašeg sustava:

$ wget -O / tmp https: // preuzimanja.apache.org / lucen / solr / 8.8.0 / solr-8.8.0.tgz

Prekidač -O skraćuje -output-dokument i čini wget pohranjivanjem dohvaćenog tar.gz datoteku u danom direktoriju. Arhiva je veličine oko 190 milijuna. Dalje, raspakirajte arhivu u / opt direktorij pomoću tar. Kao rezultat, pronaći ćete dva poddirektorijuma - / opt / solr i / opt / solr-8.8.0, dok je / opt / solr postavljen kao simbolična veza s potonjim. Apache Solr dolazi sa skriptom za postavljanje koju ćete sljedeći izvršiti, a to je kako slijedi:

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

To rezultira stvaranjem Linuxovog korisničkog solr-a koji radi u usluzi Solr, a njegov kućni direktorij pod / var / solr uspostavlja Solr-uslugu, dodanu s odgovarajućim čvorovima, i pokreće Solr-uslugu na portu 8983. To su zadane vrijednosti. Ako ste nezadovoljni njima, možete ih izmijeniti tijekom instalacije ili čak kasnije jer instalacijska skripta prihvaća odgovarajuće sklopke za podešavanja podešavanja. Preporučujemo vam da pogledate dokumentaciju Apache Solr u vezi s tim parametrima.

Softver Solr organiziran je u sljedeće direktorije:

Detaljnije, o tim direktorijima možete pročitati u dokumentaciji Apache Solr [12].

Upravljanje Apache Solr:

Apache Solr radi kao usluga u pozadini. Možete ga pokrenuti na dva načina, ili koristeći systemctl (prvi redak) kao korisnik s administrativnim dopuštenjima ili izravno iz direktorija Solr (drugi redak). U nastavku navodimo obje naredbe terminala:

# systemctl start solr
$ solr / bin / solr start

Zaustavljanje Apache Solr-a vrši se slično:

# systemctl zaustaviti solr
$ solr / bin / solr stop

Isti način ide i pri ponovnom pokretanju usluge Apache Solr:

# systemctl ponovno pokrenite solr
$ solr / bin / solr ponovno pokrenite

Nadalje, status postupka Apache Solr može se prikazati na sljedeći način:

# systemctl status solr
$ solr / bin / status solra

U izlazu je navedena servisna datoteka koja je pokrenuta, i odgovarajuća vremenska oznaka i poruke dnevnika. Donja slika pokazuje da je usluga Apache Solr pokrenuta na portu 8983 procesom 632. Postupak se uspješno izvodi 38 minuta.

Da biste vidjeli je li postupak Apache Solr aktivan, možete provjeriti i naredbu ps u kombinaciji s grep. Ovo ograničava ps izlaz na sve trenutno aktivne procese Apache Solr.

# ps sjekira | grep - boja boja

Donja slika to pokazuje za jedan postupak. Vidite poziv Jave popraćen popisom parametara, na primjer luke za korištenje memorije (512M) za preslušavanje na 8983 za upite, 7983 za zahtjeve za zaustavljanje i vrstu veze (http).

Dodavanje korisnika:

Procesi Apache Solr izvode se s određenim korisnikom koji se zove solr. Ovaj je korisnik koristan u upravljanju Solr procesima, prijenosu podataka i slanju zahtjeva. Nakon postavljanja, korisnik razrješivača nema lozinku i očekuje se da će je imati za prijavu da bi nastavio dalje. Postavite lozinku za korisničko rješenje poput korisničkog korijena, prikazana je na sljedeći način:

# passwd solr

Solr uprava:

Upravljanje Apache Solr vrši se pomoću nadzorne ploče Solr. To je dostupno putem web preglednika s http: // localhost: 8983 / solr. Donja slika prikazuje glavni prikaz.

S lijeve strane vidite glavni izbornik koji vas vodi do pododjeljaka za bilježenje, administriranje Solr-ovih jezgri, postavljanje Jave i informacije o statusu. Odaberite željenu jezgru pomoću okvira za izbor ispod izbornika. Na desnoj strani izbornika prikazuju se odgovarajuće informacije. Unos u izborniku Nadzorne ploče prikazuje daljnje detalje u vezi s postupkom Apache Solr, kao i trenutno opterećenje i upotrebu memorije.

Imajte na umu da se sadržaj nadzorne ploče mijenja ovisno o broju Solr jezgri i dokumentima koji su indeksirani. Promjene utječu na stavke izbornika i na odgovarajuće informacije koje su vidljive s desne strane.

Razumijevanje rada pretraživača:

Jednostavno rečeno, tražilice analiziraju dokumente, kategoriziraju ih i omogućuju vam pretragu na temelju njihove kategorizacije. U osnovi, proces se sastoji od tri faze, koje se nazivaju puzanjem, indeksiranjem i rangiranjem [13].

Puzeći je prva faza i opisuje postupak kojim se prikupljaju novi i ažurirani sadržaji. Tražilica koristi robote koji su poznati i kao pauci ili puzači, pa otuda pojam puzanje prolazi kroz dostupne dokumente.

Druga faza se naziva indeksiranje. Prije prikupljenog sadržaja pretvara se u pretvaranje izvornih dokumenata u format koji razumije tražilica. Ključne riječi i pojmovi izvlače se i pohranjuju u (masovne) baze podataka.

Treća faza se naziva rangiranje i opisuje postupak sortiranja rezultata pretraživanja prema njihovoj relevantnosti pomoću upita za pretraživanje. Uobičajeno je da se rezultati prikazuju u opadajućem redoslijedu, tako da rezultat koji ima najveći značaj za upit pretraživača bude na prvom mjestu.

Apache Solr djeluje slično prethodno opisanom trostupanjskom procesu. Poput popularne tražilice Google, Apache Solr koristi redoslijed prikupljanja, spremanja i indeksiranja dokumenata iz različitih izvora i čini ih dostupnima / pretraživima u gotovo stvarnom vremenu.

Apache Solr koristi različite načine indeksiranja dokumenata, uključujući sljedeće [14]:

  1. Korištenje voditelja indeksnih zahtjeva prilikom prijenosa dokumenata izravno u Solr. Ti bi dokumenti trebali biti u formatima JSON, XML / XSLT ili CSV.
  2. Korištenje rukovatelja zahtjeva za izdvajanje (solr ćelija). Dokumenti bi trebali biti u PDF ili Office formatima, koje podržava Apache Tika.
  3. Korištenje rukovatelja uvozom podataka koji prenosi podatke iz baze podataka i katalogizira ih pomoću imena stupaca. Upravitelj uvoza podataka dohvaća podatke iz e-pošte, RSS feedova, XML podataka, baza podataka i običnih tekstualnih datoteka kao izvore.

Obrađivač upita koristi se u Apache Solr kad se pošalje zahtjev za pretraživanje. Obrađivač upita analizira zadani upit na temelju istog koncepta obrađivača indeksa kako bi odgovarao upitu i prethodno indeksiranim dokumentima. Utakmice se rangiraju prema njihovoj prikladnosti ili relevantnosti. Kratki primjer upita prikazan je u nastavku.

Prijenos dokumenata:

Radi jednostavnosti koristimo uzorak skupa podataka za sljedeći primjer koji već nudi Apache Solr. Učitavanje dokumenata vrši se kao rješenje korisnika. Korak 1 je stvaranje jezgre s nazivom tehnološki proizvodi (za brojne tehnološke proizvode).

$ solr / bin / solr create -c techproducts

Sve je u redu ako vidite poruku "Stvoreni novi jezgri" tehnološki proizvodi "". Korak 2 je dodavanje podataka (XML podaci iz exampledocs) u prethodno stvorene temeljne tehnološke proizvode. U upotrebi je post alata koji je parametriziran sa -c (naziv jezgre) i dokumenti koji se prenose.

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

To će rezultirati dolje prikazanim izlazom i sadržavat će cijeli poziv plus 14 indeksiranih dokumenata.

Također, nadzorna ploča prikazuje promjene. U padajućem izborniku na lijevoj strani vidljiv je novi unos nazvan techproducts, a na desnoj je promijenjen broj odgovarajućih dokumenata. Nažalost, detaljan prikaz sirovih skupova podataka nije moguć.

U slučaju da jezgru / kolekciju treba ukloniti, upotrijebite sljedeću naredbu:

$ solr / bin / solr delete -c tehnički proizvodi

Podaci o upitu:

Apache Solr nudi dva sučelja za upite podataka: putem web nadzorne ploče i naredbenog retka. U nastavku ćemo objasniti obje metode.

Slanje upita putem nadzorne ploče Solr vrši se na sljedeći način:

Naredbeni redak prihvaća isti upit kao na nadzornoj ploči. Razlika je u tome što morate znati naziv polja upita. Da biste poslali isti upit kao gore, u terminalu morate pokrenuti sljedeću naredbu:

$ uvojak
http: // localhost: 8983 / solr / techproducts / query?q = "manu": "Belkin

Izlaz je u JSON formatu, kao što je prikazano u nastavku. Rezultat se sastoji od zaglavlja odgovora i stvarnog odgovora. Odgovor se sastoji od dva skupa podataka.

Završavati:

Čestitamo! Uspješno ste postigli prvu fazu. Osnovna infrastruktura je postavljena i naučili ste kako prenositi i tražiti dokumente.

Sljedeći će korak obuhvatiti kako precizirati upit, formulirati složenije upite i razumjeti različite web obrasce koje pruža stranica upita Apache Solr. Također ćemo razgovarati o tome kako naknadno obraditi rezultat pretraživanja koristeći različite izlazne formate kao što su XML, CSV i JSON.

O autorima:

Jacqui Kabeta je ekologinja, strastveni istraživač, trener i mentor. U nekoliko afričkih zemalja radila je u IT industriji i okruženjima nevladinih organizacija.

Frank Hofmann je informatički programer, trener i autor, a radije radi iz Berlina, Ženeve i Cape Towna. Koautor knjige za upravljanje paketima Debian dostupne na dpmb.org

Dodajte geste miša u sustav Windows 10 pomoću ovih besplatnih alata
Posljednjih godina računala i operativni sustavi uvelike su se razvili. Bilo je vrijeme kada su korisnici morali koristiti naredbe za navigaciju kroz ...
Kontrolirajte i upravljajte kretanjem miša između više monitora u sustavu Windows 10
Dvostruki zaslon upravitelja miša omogućuje vam kontrolu i konfiguriranje kretanja miša između više monitora, usporavajući njegovo kretanje blizu gran...
WinMouse vam omogućuje prilagodbu i poboljšanje kretanja pokazivača miša na Windows računalu
Ako želite poboljšati zadane funkcije pokazivača miša, upotrijebite besplatni program WinMouse. Dodaje više značajki koje će vam pomoći da na najbolji...