Apache Solr

Introducere în Apache Solr. Partea 3 Conectarea la PostgreSQL

Introducere în Apache Solr. Partea 3 Conectarea la PostgreSQL
Apache Solr [1] este un cadru de motor de căutare scris în Java și bazat pe biblioteca de căutare Lucene [6]. În ultimele două articole, am creat Apache Solr pe Debian GNU / Linux 11 care va fi lansat în curând, am inițiat un singur nucleu de date, am încărcat date de exemplu, am demonstrat cum să interogăm datele de ieșire în moduri diferite și post-proces aceasta.

Acesta este un articol de urmărire a celor două anterioare [2,3]. Până acum, am încărcat date indexate în spațiul de stocare Apache Solr și am solicitat date despre asta. Acum, veți învăța cum să conectați sistemul de gestionare a bazelor de date relaționale PostgreSQL [4] la Apache Solr și să efectuați o căutare în acesta folosind capacitățile Solr. Acest lucru face necesar să faceți mai mulți pași descriși mai jos mai detaliat - configurarea PostgreSQL, pregătirea unei structuri de date într-o bază de date PostgreSQL și conectarea PostgreSQL la Apache Solr și efectuarea căutării noastre.

Pasul 1: Configurarea PostgreSQL

Despre PostgreSQL - o scurtă informație

PostgreSQL este un sistem ingenios de gestionare a bazelor de date relaționale obiect. A fost disponibil pentru utilizare și a suferit o dezvoltare activă de peste 30 de ani. Acesta provine de la Universitatea din California, unde este văzut ca succesorul lui Ingres [7].

De la început, este disponibil sub open-source (GPL), liber de utilizat, modificat și distribuit. Este utilizat pe scară largă și foarte popular în industrie. PostgreSQL a fost inițial conceput pentru a rula numai pe sistemele UNIX / Linux și ulterior a fost conceput pentru a rula pe alte sisteme precum Microsoft Windows, Solaris și BSD. Dezvoltarea actuală a PostgreSQL se face la nivel mondial de numeroși voluntari.

Configurare PostgreSQL

Dacă nu s-a făcut încă, instalați serverul și clientul PostgreSQL local, de exemplu, pe Debian GNU / Linux așa cum este descris mai jos folosind apt. Două articole tratează PostgreSQL - articolul lui Yunis Said [5] discută despre configurarea pe Ubuntu. Totuși, el zgârie suprafața doar în timp ce articolul meu anterior se concentrează pe combinația PostgreSQL cu extensia GIS PostGIS [6]. Descrierea de aici rezumă toți pașii de care avem nevoie pentru această configurare specială.

# apt install postgresql-13 postgresql-client-13

Apoi, verificați dacă PostgreSQL rulează cu ajutorul comenzii pg_isready. Acesta este un utilitar care face parte din pachetul PostgreSQL.

# pg_deja
/ var / run / postgresql: 5432 - Conexiunile sunt acceptate

Rezultatul de mai sus arată că PostgreSQL este gata și așteaptă conexiunile primite pe portul 5432. Dacă nu este stabilit altfel, aceasta este configurația standard. Următorul pas este setarea parolei pentru utilizatorul UNIX Postgres:

# passwd Postgres

Rețineți că PostgreSQL are propria bază de date de utilizatori, în timp ce utilizatorul administrativ PostgreSQL Postgres nu are încă o parolă. Pasul anterior trebuie făcut și pentru utilizatorul PostgreSQL, Postgres:

# su - Postgres
$ psql -c "ALTER USG Postgres CU PAROLĂ 'parolă';"

Pentru simplitate, parola aleasă este doar o parolă și ar trebui înlocuită cu o frază de parolă mai sigură pe alte sisteme decât testarea. Comanda de mai sus va modifica tabelul de utilizator intern al PostgreSQL. Fiți conștienți de diferitele ghilimele - parola între ghilimele simple și interogarea SQL între ghilimele duble pentru a împiedica interpretul shell să evalueze comanda în mod greșit. De asemenea, adăugați un punct și virgulă după interogarea SQL înainte de ghilimele duble la sfârșitul comenzii.

Apoi, din motive administrative, conectați-vă la PostgreSQL ca utilizator Postgres cu parola creată anterior. Comanda se numește psql:

$ psql

Conectarea de la Apache Solr la baza de date PostgreSQL se face ca solr de utilizator. Deci, haideți să adăugăm solr-ul utilizatorului PostgreSQL și să setăm o parolă corespunzătoare solr pentru el dintr-o dată:

$ CREAȚI UTILIZATOR solr CU PASSWD 'solr';

Pentru simplitate, parola aleasă este doar solr și ar trebui înlocuită cu o frază de parolă mai sigură pe sistemele aflate în producție.

Pasul 2: Pregătirea unei structuri de date

Pentru a stoca și prelua date, este necesară o bază de date corespunzătoare. Comanda de mai jos creează o bază de date cu mașini care aparține utilizatorului solr și care va fi utilizată ulterior.

$ CREAȚI MAȘINI DE BAZĂ DE DATE CU PROPRIETAR = solr;

Apoi, conectați-vă la mașinile de bază nou create ca utilizator solr. Opțiunea -d (opțiunea scurtă pentru -dbname) definește numele bazei de date și -U (opțiunea scurtă pentru -username) numele utilizatorului PostgreSQL.

$ psql -d cars -U solr

O bază de date goală nu este utilă, dar o fac tabelele structurate cu conținut. Creați structura mașinilor de masă după cum urmează:

$ CREAȚI mașini de masă (
id int,
face varchar (100),
model varchar (100),
descriere varchar (100),
color varchar (50),
pret int
);

Mașinile de masă conțin șase câmpuri de date - id (întreg), marca (un șir de lungime 100), model (un șir de lungime 100), descriere (un șir de lungime 100), culoare (un șir de lungime 50) și preț (număr întreg). Pentru a obține câteva exemple de date, adăugați următoarele valori la autovehiculele de tabele ca instrucțiuni SQL:

$ INSERT INTO cars (id, marca, model, descriere, culoare, preț)
VALORI (1, „BMW”, „X5”, „Cool car”, „gri”, 45000);
$ INSERT INTO cars (id, marca, model, descriere, culoare, preț)
VALORI (2, „Audi”, „Quattro”, „mașină de curse”, „alb”, 30000);

Rezultatul este două înregistrări reprezentând un BMW X5 gri care costă 45000 USD, descris ca o mașină grozavă, și o mașină albă de curse Audi Quattro care costă 30000 USD.

Apoi, ieșiți din consola PostgreSQL folosind \ q sau ieșiți.

$ \ q

Pasul 3: Conectarea PostgreSQL cu Apache Solr

Conexiunea PostgreSQL și Apache Solr se bazează pe două software - un driver Java pentru PostgreSQL numit driverul Java Database Connectivity (JDBC) și o extensie la configurația serverului Solr. Driverul JDBC adaugă o interfață Java la PostgreSQL, iar intrarea suplimentară din configurația Solr îi spune Solr cum să se conecteze la PostgreSQL utilizând driverul JDBC.

Adăugarea driverului JDBC se face ca root utilizator după cum urmează și instalează driverul JDBC din depozitul de pachete Debian:

# apt-get install libpostgresql-jdbc-java

Pe partea Apache Solr, trebuie să existe și un nod corespunzător. Dacă nu s-a făcut încă, ca utilizator sol UNIX, creați mașinile nodului după cum urmează:

$ bin / solr create -c mașini

Apoi, extindeți configurația Solr pentru nodul nou creat. Adăugați liniile de mai jos în fișierul / var / solr / data / cars / conf / solrconfig.xml:

db-data-config.xml

Mai mult, creați un fișier / var / solr / data / cars / conf / data-config.xml și stocați în acesta următorul conținut:

Liniile de mai sus corespund setărilor anterioare și definesc driverul JDBC, specifică portul 5432 pentru conectarea la SGBD PostgreSQL ca solr de utilizator cu parola corespunzătoare și setează interogarea SQL pentru a fi executată din PostgreSQL. Pentru simplitate, este o declarație SELECT care captează întregul conținut al tabelului.

Apoi, reporniți serverul Solr pentru a activa modificările. În timp ce utilizatorul root execută următoarea comandă:

# systemctl reporniți solr

Ultimul pas este importul datelor, de exemplu, utilizând interfața web Solr. Caseta de selectare a nodului alege mașinile nodului, apoi din meniul Node de sub intrarea Dataimport urmată de selectarea importului complet din meniul Comandă direct la acesta. În cele din urmă, apăsați butonul Executare. Figura de mai jos arată că Solr a indexat cu succes datele.

Pasul 4: interogarea datelor din SGBD

Articolul anterior [3] se ocupă cu interogarea detaliată a datelor, preluarea rezultatului și selectarea formatului de ieșire dorit - CSV, XML sau JSON. Interogarea datelor se face în mod similar cu ceea ce ați învățat înainte și nu există nicio diferență vizibilă pentru utilizator. Solr face toată munca din culise și comunică cu SGBD-ul PostgreSQL conectat așa cum este definit în nucleul sau clusterul Solr selectat.

Utilizarea Solr nu se modifică, iar interogările pot fi trimise prin interfața de administrare Solr sau folosind curl sau wget pe linia de comandă. Trimiteți o cerere de primire cu o anumită adresă URL către serverul Solr (interogare, actualizare sau ștergere). Solr procesează cererea utilizând SGBD ca unitate de stocare și returnează rezultatul cererii. Apoi, postprocesați răspunsul local.

Exemplul de mai jos arată rezultatul interogării „/ select?q = *. * ”În format JSON în interfața de administrare Solr. Datele sunt extrase din mașinile bazei de date pe care le-am creat mai devreme.

Concluzie

Acest articol arată cum să interogați o bază de date PostgreSQL de la Apache Solr și explică setarea corespunzătoare. În următoarea parte a acestei serii, veți învăța cum să combinați mai multe noduri Solr într-un cluster Solr.

Despre autori

Jacqui Kabeta este ecologist, cercetător avid, formator și mentor. În mai multe țări africane, a lucrat în industria IT și în mediile ONG-urilor.

Frank Hofmann este dezvoltator IT, trainer și autor și preferă să lucreze din Berlin, Geneva și Cape Town. Co-autor al cărții de gestionare a pachetelor Debian disponibil de pe dpmb.org

Linkuri și referințe

How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...