Apache Solr

Ievads Apache Solr. 3. daļa Savienojuma izveide ar PostgreSQL

Ievads Apache Solr. 3. daļa Savienojuma izveide ar PostgreSQL
Apache Solr [1] ir meklētājprogrammu ietvars, kas rakstīts Java valodā un balstīts uz Lucene meklēšanas bibliotēku [6]. Iepriekšējos divos rakstos mēs izveidojām Apache Solr drīzumā iznākošajā Debian GNU / Linux 11, ierosinājām vienu datu kodolu, augšupielādējām datu piemērus, parādījām, kā dažādos veidos vaicāt izejas datiem un pēcapstrādāt. to.

Šis ir turpinājuma raksts diviem iepriekšējiem [2,3]. Līdz šim mēs ielādējām indeksētos datus Apache Solr krātuvē un par to pieprasījām datus. Tagad jūs uzzināsiet, kā savienot relāciju datu bāzes pārvaldības sistēmu PostgreSQL [4] ar Apache Solr un veikt meklēšanu tajā, izmantojot Solr iespējas. Tāpēc ir nepieciešams veikt vairākas sīkāk aprakstītas darbības - izveidot PostgreSQL, sagatavot datu struktūru PostgreSQL datu bāzē un savienot PostgreSQL ar Apache Solr un veikt mūsu meklēšanu.

1. darbība: PostgreSQL iestatīšana

Par PostgreSQL - īsa informācija

PostgreSQL ir ģeniāla objektu-relāciju datu bāzu pārvaldības sistēma. Tas ir bijis pieejams lietošanai un ir aktīvi attīstījies jau vairāk nekā 30 gadus. Tas cēlies no Kalifornijas universitātes, kur to uzskata par Ingres pēcteci [7].

Sākotnēji tas ir pieejams zem atvērtā koda (GPL), to var brīvi izmantot, modificēt un izplatīt. Tas ir plaši izmantots un ļoti populārs nozarē. Sākotnēji PostgreSQL tika izstrādāts, lai darbotos tikai UNIX / Linux sistēmās, un vēlāk tika izstrādāts, lai darbotos citās sistēmās, piemēram, Microsoft Windows, Solaris un BSD. Pašreizējo PostgreSQL attīstību visā pasaulē veic daudzi brīvprātīgie.

PostgreSQL iestatīšana

Ja tas vēl nav izdarīts, instalējiet PostgreSQL serveri un klientu lokāli, piemēram, Debian GNU / Linux, kā aprakstīts zemāk, izmantojot apt. Divi raksti attiecas uz PostgreSQL - Yunis Said rakstā [5] ir apskatīta Ubuntu iestatīšana. Tomēr viņš tikai saskrāpē virsmu, kamēr mans iepriekšējais raksts koncentrējas uz PostgreSQL kombināciju ar ĢIS paplašinājumu PostGIS [6]. Šeit sniegtajā aprakstā ir apkopotas visas darbības, kas nepieciešamas šai konkrētajai iestatīšanai.

# apt instalēt postgresql-13 postgresql-client-13

Pēc tam pārbaudiet, vai darbojas PostgreSQL, izmantojot komandu pg_isready. Šī ir utilīta, kas ir daļa no paketes PostgreSQL.

# pg_isready
/ var / run / postgresql: 5432 - Savienojumi tiek pieņemti

Iepriekš minētā izeja parāda, ka PostgreSQL ir gatavs un gaida ienākošos savienojumus 5432. portā. Ja nav noteikts citādi, tā ir standarta konfigurācija. Nākamais solis ir paroles iestatīšana UNIX lietotāja Postgres lietotājam:

# passwd Postgres

Paturiet prātā, ka PostgreSQL ir sava lietotāju datu bāze, savukārt administratīvajam PostgreSQL lietotājam Postgres vēl nav paroles. Iepriekšējais solis ir jāveic arī PostgreSQL lietotājam Postgres:

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

Vienkāršības labad izvēlētā parole ir tikai parole, un tā ir jāaizstāj ar drošāku paroles frāzi citās sistēmās, nevis testēšanā. Iepriekš minētā komanda mainīs PostgreSQL iekšējo lietotāju tabulu. Jāapzinās dažādas pēdiņas - parole atsevišķās pēdiņās un SQL vaicājums divkāršās pēdiņās, lai čaulas tulks nevarētu komandu novērtēt nepareizi. Pievienojiet arī semikolu pēc SQL vaicājuma pirms divkāršās pēdiņas komandas beigās.

Pēc tam administratīvu iemeslu dēļ izveidojiet savienojumu ar PostgreSQL kā lietotāja Postgres ar iepriekš izveidoto paroli. Komandu sauc par psql:

$ psql

Savienojums no Apache Solr ar PostgreSQL datu bāzi tiek veikts kā lietotāja solr. Tātad, pievienosim PostgreSQL lietotāja solr un iestatīsim viņam atbilstošu paroli solr vienā piegājienā:

$ CREATE USER solr WITH PASSWD 'solr';

Vienkāršības labad izvēlētā parole ir tikai solr, un to vajadzētu aizstāt ar drošāku paroles frāzi sistēmās, kuras tiek ražotas.

2. solis: Datu struktūras sagatavošana

Datu glabāšanai un izgūšanai ir nepieciešama atbilstoša datu bāze. Zemāk esošā komanda izveido automašīnu solr datu bāzi, kas pieder lietotāja solr un tiks izmantota vēlāk.

$ CREATE DATABASE automašīnas ar īpašnieku = solr;

Pēc tam izveidojiet savienojumu ar jaunizveidotajām datu bāzes automašīnām kā lietotāja solr. Opcija -d (īsa opcija -dbname) definē datu bāzes nosaukumu un -U (īsa opcija -username) - PostgreSQL lietotāja vārdu.

$ psql -d automašīnas -U solr

Tukša datu bāze nav noderīga, taču strukturētas tabulas ar saturu to dara. Izveidojiet galda automašīnu struktūru šādi:

$ CREATE TABLE automašīnas (
id int,
padarīt varchar (100),
modeļa varchar (100),
apraksts varchar (100),
krāsu varchar (50),
cena starp
);

Galda mašīnās ir seši datu lauki - id (vesels skaitlis), marka (virkne garuma 100), modelis (virkne garuma 100), apraksts (virkne garuma 100), krāsa (virkne garuma 50) un cena (vesels skaitlis). Lai iegūtu dažus datu paraugus, pievienojiet šādas vērtības tabulas automašīnām kā SQL priekšrakstus:

$ INSERT INTO automašīnas (id, marka, modelis, apraksts, krāsa, cena)
VĒRTĪBAS (1, 'BMW', 'X5', 'Forša automašīna', 'pelēka', 45000);
$ INSERT INTO automašīnas (id, marka, modelis, apraksts, krāsa, cena)
VĒRTĪBAS (2, 'Audi', 'Quattro', 'sacīkšu automašīna', 'balts', 30000);

Rezultāts ir divi ieraksti, kas attēlo pelēku BMW X5, kas maksā USD 45000, kas aprakstīts kā foršs auto, un baltu sacīkšu automašīnu Audi Quattro, kas maksā USD 30000.

Pēc tam izejiet no konsoles PostgreSQL, izmantojot \ q, vai aizveriet.

$ \ q

3. solis: PostgreSQL savienošana ar Apache Solr

PostgreSQL un Apache Solr savienojuma pamatā ir divi programmatūras elementi - Java draiveris PostgreSQL, ko sauc par Java Database Connectivity (JDBC) draiveri, un Solr servera konfigurācijas paplašinājums. JDBC draiveris pievieno Java saskarni PostgreSQL, un papildu ieraksts Solr konfigurācijā norāda Solr, kā izveidot savienojumu ar PostgreSQL, izmantojot JDBC draiveri.

JDBC draivera pievienošana tiek veikta kā lietotāja sakne šādi, un JDBC draiveris tiek instalēts no Debian pakotņu krātuves:

# apt-get install libpostgresql-jdbc-java

Apache Solr pusē ir jāpastāv arī attiecīgajam mezglam. Ja tas vēl nav izdarīts, kā UNIX lietotāja solr izveidojiet mezglu automašīnas šādi:

$ bin / solr izveidot -c automašīnas

Pēc tam paplašiniet jaunizveidotā mezgla Solr konfigurāciju. Pievienojiet zemāk redzamās rindas failā / var / solr / data / cars / conf / solrconfig.xml:

db-data-config.xml

Turklāt izveidojiet failu / var / solr / data / cars / conf / data-config.xml un tajā saglabājiet šādu saturu:

Iepriekš minētās rindas atbilst iepriekšējiem iestatījumiem un nosaka JDBC draiveri, norādiet portu 5432, lai izveidotu savienojumu ar PostgreSQL DBVS kā lietotāja solr ar atbilstošo paroli, un iestatiet SQL vaicājumu, kas jāizpilda no PostgreSQL. Vienkāršības labad tas ir SELECT paziņojums, kas sagrābj visu tabulas saturu.

Pēc tam restartējiet Solr serveri, lai aktivizētu izmaiņas. Tā kā lietotāja sakne izpilda šādu komandu:

# systemctl restart solr

Pēdējais solis ir datu importēšana, piemēram, izmantojot Solr tīmekļa saskarni. Mezgla izvēles rūtiņa izvēlas mezglu automašīnas, pēc tam izvēlnē Mezgls zem ieraksta Datu importēšana, kam seko pilnīgas importēšanas atlase no komandu izvēlnes tieši uz to. Visbeidzot, nospiediet pogu Izpildīt. Zemāk redzamais attēls parāda, ka Solr ir veiksmīgi indeksējis datus.

4. darbība: datu vaicājums no DBVS

Iepriekšējais raksts [3] detalizēti aplūko datu vaicāšanu, rezultāta iegūšanu un vēlamā izvades formāta izvēli - CSV, XML vai JSON. Datu vaicājums tiek veikts līdzīgi tam, ko esat iemācījies iepriekš, un lietotājam nav redzama atšķirība. Solr veic visu darbu aizkulisēs un sazinās ar savienoto PostgreSQL DBVS, kā noteikts izvēlētajā Solr kodolā vai kopā.

Solr lietojums nemainās, un vaicājumus var iesniegt, izmantojot Solr administratora saskarni vai komandrindā izmantojot curl vai wget. Jūs nosūtiet pieprasījumu Saņemt ar noteiktu URL uz Solr serveri (vaicājums, atjaunināšana vai dzēšana). Solr apstrādā pieprasījumu, izmantojot DBVS kā atmiņas vienību, un atgriež pieprasījuma rezultātu. Pēc tam atbildi pēc tam apstrādājiet lokāli.

Tālāk sniegtajā piemērā parādīta vaicājuma “/ select?q = *. * ”JSON formātā Solr administratora saskarnē. Dati tiek iegūti no datu bāzes automašīnām, kuras mēs izveidojām iepriekš.

Secinājums

Šajā rakstā ir parādīts, kā vaicāt PostgreSQL datu bāzei no Apache Solr, un paskaidrots atbilstošais iestatījums. Šīs sērijas nākamajā daļā jūs uzzināsiet, kā apvienot vairākus Solr mezglus Solr kopā.

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

Saites un atsauces

Labākās Linux spēļu gamepad kartēšanas lietotnes
Ja jums patīk spēlēt spēles Linux ar parastu tastatūru, nevis parasto tastatūru un peles ievades sistēmu, jums ir dažas noderīgas lietotnes. Daudzas d...
Noderīgi rīki Linux spēlētājiem
Ja jums patīk spēlēt spēles Linux, iespējams, ka spēļu pieredzes uzlabošanai, iespējams, esat izmantojis tādas lietotnes un utilītprogrammas kā Wine, ...
HD Remastered spēles operētājsistēmai Linux, kurām nekad agrāk nebija Linux laidiena
Daudzi spēļu izstrādātāji un izdevēji nāk klajā ar veco spēļu HD remaster, lai pagarinātu franšīzes darbības laiku. Lūdzu, faniem, kas pieprasa saderī...