Apache Solr

Uvod v Apache Solr. 3. del Povezava s PostgreSQL

Uvod v Apache Solr. 3. del Povezava s PostgreSQL
Apache Solr [1] je ogrodje iskalnika, napisano v Javi in ​​temelji na iskalni knjižnici Lucene [6]. V prejšnjih dveh člankih smo ustanovili Apache Solr na kmalu izdanem Debian GNU / Linux 11, sprožili eno jedro podatkov, naložili primere podatkov, pokazali, kako na različne načine poizvedovati po izhodnih podatkih in po obdelavi to.

To je nadaljevalni članek k prejšnjim dvema [2,3]. Doslej smo indeksirane podatke nalagali v pomnilnik Apache Solr in o njih poizvedovali. Zdaj boste izvedeli, kako povezati sistem za upravljanje relacijske baze podatkov PostgreSQL [4] na Apache Solr in v njem iskati z uporabo Solr. Zaradi tega je treba narediti več podrobno opisanih korakov - nastavitev PostgreSQL, priprava podatkovne strukture v zbirki podatkov PostgreSQL in povezovanje PostgreSQL z Apache Solr ter iskanje.

1. korak: Nastavitev PostgreSQL

O PostgreSQL - kratke informacije

PostgreSQL je iznajdljiv objektno-relacijski sistem za upravljanje baz podatkov. Na voljo je za uporabo in se že več kot 30 let aktivno razvija. Izvira s kalifornijske univerze, kjer velja za naslednika Ingresa [7].

Od začetka je na voljo v odprtokodni različici (GPL) in je brezplačen za uporabo, spreminjanje in distribucijo. Veliko se uporablja in je zelo priljubljen v industriji. PostgreSQL je bil prvotno zasnovan samo za sisteme UNIX / Linux, kasneje pa za druge sisteme, kot so Microsoft Windows, Solaris in BSD. Trenutni razvoj PostgreSQL po vsem svetu izvajajo številni prostovoljci.

Nastavitev PostgreSQL

Če še ni končano, namestite strežnik in odjemalca PostgreSQL lokalno, na primer na Debian GNU / Linux, kot je opisano spodaj z uporabo apt. Dva članka se ukvarjata s PostgreSQL - članek Yunisa Saida [5] govori o namestitvi v Ubuntuju. Kljub temu pa samo opraska površino, medtem ko se moj prejšnji članek osredotoča na kombinacijo PostgreSQL in GIS razširitve PostGIS [6]. Opis tukaj povzema vse korake, ki jih potrebujemo za to določeno nastavitev.

# apt namestite postgresql-13 postgresql-client-13

Nato s pomočjo ukaza pg_isready preverite, ali se PostgreSQL izvaja. To je pripomoček, ki je del paketa PostgreSQL.

# pg_isready
/ var / run / postgresql: 5432 - Povezave so sprejete

Zgornji izhod kaže, da je PostgreSQL pripravljen in čaka na dohodne povezave na vratih 5432. Če ni določeno drugače, je to standardna konfiguracija. Naslednji korak je nastavitev gesla za uporabnika UNIX Postgres:

# passwd Postgres

Upoštevajte, da ima PostgreSQL lastno bazo podatkov o uporabnikih, medtem ko skrbniški uporabnik PostgreSQL Postgres še nima gesla. Prejšnji korak je treba opraviti tudi za uporabnika PostgreSQL Postgres:

# su - Postgres
$ psql -c "ALTER USER Postgres WITH PASSWORD 'password';"

Zaradi enostavnosti je izbrano geslo le geslo in ga je treba nadomestiti z varnejšim geslom v drugih sistemih, razen za testiranje. Zgornji ukaz bo spremenil notranjo uporabniško tabelo PostgreSQL. Zavedajte se različnih narekovajev - gesla v enojnih narekovajih in poizvedbe SQL v dvojnih narekovajih, da preprečite, da bi tolmač lupine ukaz ocenil na napačen način. Poleg pobude SQL dodajte podpičje pred dvojnimi narekovaji na koncu ukaza.

Nato se iz upravnih razlogov povežite z PostgreSQL kot uporabnik Postgres s predhodno ustvarjenim geslom. Ukaz se imenuje psql:

$ psql

Povezava iz Apache Solr v bazo podatkov PostgreSQL se izvede kot uporabniška rešitev. Torej, dodajte uporabniški rešitelj PostgreSQL in mu z enim potezom nastavite ustrezen reševalnik gesel:

$ USTVARI UPORABNIŠKO solr s PASSWD 'solr';

Zaradi enostavnosti je izbrano geslo samo rešitev in ga je treba nadomestiti z varnejšim geslom v sistemih, ki so v izdelavi.

2. korak: Priprava podatkovne strukture

Za shranjevanje in pridobivanje podatkov je potrebna ustrezna baza podatkov. Spodnji ukaz ustvari bazo podatkov o avtomobilih, ki pripada uporabniški rešitvi in ​​bo uporabljena pozneje.

$ USTVARI PODATKOVNE BAZE avtomobilov Z LASTNIKOM = solr;

Nato se povežite z novo ustvarjenimi avtomobili zbirke podatkov kot uporabnik. Možnost -d (kratka možnost za -dbname) definira ime baze podatkov, -U (kratka možnost za -username) pa ime uporabnika PostgreSQL.

$ psql -d avtomobili -U solr

Prazna baza podatkov ni uporabna, vendar strukturirane tabele z vsebino to počnejo. Ustvarite strukturo namiznih avtomobilov, kot sledi:

$ USTVARI TABELO avtomobilov (
id int,
naredi varchar (100),
model varchar (100),
opis varchar (100),
barva varchar (50),
cena int
);

Tabela avtomobilov vsebuje šest podatkovnih polj - id (celo število), znamka (niz dolžine 100), model (niz dolžine 100), opis (niz dolžine 100), barva (niz dolžine 50) in cena (celo število). Če želite nekaj vzorčnih podatkov, dodajte naslednje vrednosti v preglednice avtomobilov kot stavke SQL:

$ INSERT INTO avtomobilov (id, znamka, model, opis, barva, cena)
VREDNOTE (1, 'BMW', 'X5', 'Cool car', 'grey', 45000);
$ INSERT INTO avtomobilov (id, znamka, model, opis, barva, cena)
VREDNOTE (2, 'Audi', 'Quattro', 'dirkalnik', 'bela', 30000);

Rezultat sta dva vnosa, ki predstavljata sivi BMW X5, ki stane 45000 USD, opisan kot kul avtomobil, in beli dirkalnik Audi Quattro, ki stane 30000 USD.

Nato zapustite konzolo PostgreSQL z \ q ali zaprete.

$ \ q

3. korak: Povezava PostgreSQL z Apache Solr

Povezava PostgreSQL in Apache Solr temelji na dveh delih programske opreme - gonilniku Java za PostgreSQL, imenovanem gonilnik Java Database Connectivity (JDBC), in razširitvi konfiguracije strežnika Solr. Gonilnik JDBC dodaja vmesnik Java PostgreSQL, dodaten vnos v konfiguraciji Solr pa pove Solrju, kako se z gonilnikom JDBC poveže s PostgreSQL.

Dodajanje gonilnika JDBC se izvede kot uporabniški koren, kot sledi, in namesti gonilnik JDBC iz repozitorija paketov Debian:

# apt-get namestite libpostgresql-jdbc-java

Na strani Apache Solr mora obstajati tudi ustrezno vozlišče. Če še ni končano, kot uporabniški razreševalec UNIX ustvarite vozlišča vozil, kot sledi:

$ bin / solr ustvari -c avtomobile

Nato razširite konfiguracijo Solr za novo ustvarjeno vozlišče. V datoteko / var / solr / data / cars / conf / solrconfig dodajte spodnje vrstice.xml:

db-data-config.xml

Poleg tega ustvarite datoteko / var / solr / data / cars / conf / data-config.xml in vanj shranite naslednjo vsebino:

Zgornje vrstice ustrezajo prejšnjim nastavitvam in opredeljujejo gonilnik JDBC, določite vrata 5432 za povezavo s sistemom DBMS PostgreSQL kot uporabniško rešitev z ustreznim geslom in nastavite poizvedbo SQL, ki naj se izvaja iz PostgreSQL. Zaradi enostavnosti je izjava SELECT, ki zajema celotno vsebino tabele.

Nato znova zaženite strežnik Solr, da aktivirate spremembe. Kot uporabniški koren izvedite naslednji ukaz:

# systemctl znova zaženi solr

Zadnji korak je uvoz podatkov, na primer s pomočjo spletnega vmesnika Solr. Polje za izbiro vozlišča izbere vozlišča vozlišča, nato v meniju Vozilo pod vnosom Dataimport, čemur sledi izbira celotnega uvoza iz menija Ukaz desno do njega. Na koncu pritisnite gumb Izvedi. Spodnja slika prikazuje, da je Solr podatke uspešno indeksiral.

4. korak: Poizvedovanje po podatkih iz DBMS

Prejšnji članek [3] podrobno obravnava poizvedovanje po podatkih, pridobivanje rezultata in izbiro želene izhodne oblike - CSV, XML ali JSON. Poizvedovanje po podatkih poteka podobno kot že prej in uporabnik ne vidi razlike. Solr opravlja vsa dela v zakulisju in komunicira z DBMS PostgreSQL, povezanim, kot je določeno v izbranem jedru ali gruči Solr.

Uporaba Solrja se ne spremeni in poizvedbe lahko oddate prek skrbniškega vmesnika Solr ali z uporabo curl ali wget v ukazni vrstici. Na strežnik Solr pošljete zahtevo za pridobitev z določenim URL-jem (poizvedba, posodobitev ali brisanje). Solr zahtevo obdela s pomočjo DBMS kot pomnilniške enote in vrne rezultat zahteve. Nato odgovor obdelajte lokalno.

Spodnji primer prikazuje rezultat poizvedbe “/ select?q = *. * ”V obliki JSON v skrbniškem vmesniku Solr. Podatki se pridobijo iz avtomobilov zbirke podatkov, ki smo jih ustvarili prej.

Zaključek

Ta članek prikazuje, kako poizvedovati po zbirki podatkov PostgreSQL pri Apache Solr in pojasnjuje ustrezno nastavitev. V naslednjem delu te serije boste izvedeli, kako združiti več vozlišč Solr v gručo Solr.

O avtorjih

Jacqui Kabeta je okoljevarstvenica, navdušena raziskovalka, trenerka in mentorica. V več afriških državah je delala v IT industriji in okoljih nevladnih organizacij.

Frank Hofmann je razvijalec informacijskih tehnologij, trener in avtor ter raje dela iz Berlina, Ženeve in Cape Towna. Soavtor knjige za upravljanje paketov Debian, ki je na voljo pri dpmb.org

Povezave in reference

Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...
Najboljše laboratorijske igre Oculus App
Če ste lastnik slušalk Oculus, morate biti seznanjeni s stranskim nalaganjem. Sideloading je postopek namestitve vsebine, ki ni shranjena v slušalke. ...