Apache Solr

„Apache Solr“ įvadas. 3 dalis Prisijungimas prie „PostgreSQL“

„Apache Solr“ įvadas. 3 dalis Prisijungimas prie „PostgreSQL“
„Apache Solr“ [1] yra paieškos sistemoje parašyta „Java“ sistema, pagrįsta „Lucene“ paieškos biblioteka [6]. Ankstesniuose dviejuose straipsniuose mes sukūrėme „Apache Solr“ netrukus pasirodysiančioje „Debian GNU / Linux 11“, inicijavome vieną duomenų šerdį, įkėlėme duomenų pavyzdžius, demonstravome, kaip įvairiais būdais pateikti užklausą išvesties duomenims ir apdoroti po to. tai.

Tai yra tolesnis dviejų ankstesnių straipsnių straipsnis [2,3]. Iki šiol įkelėme indeksuotus duomenis į „Apache Solr“ saugyklą ir teiravomės apie tai duomenų. Dabar sužinosite, kaip prijungti reliacinių duomenų bazių valdymo sistemą „PostgreSQL“ [4] prie „Apache Solr“ ir atlikti paiešką joje naudojantis „Solr“ galimybėmis. Todėl būtina atlikti kelis toliau aprašytus veiksmus: nustatyti „PostgreSQL“, paruošti duomenų struktūrą „PostgreSQL“ duomenų bazėje ir prijungti „PostgreSQL“ prie „Apache Solr“ ir atlikti paiešką.

1 žingsnis: „PostgreSQL“ nustatymas

Apie „PostgreSQL“ - trumpa informacija

„PostgreSQL“ yra išradinga objektų-santykių duomenų bazių valdymo sistema. Jį galima naudoti ir jis aktyviai tobulinamas jau daugiau nei 30 metų. Jis kilęs iš Kalifornijos universiteto, kur jis laikomas Ingreso įpėdiniu [7].

Nuo pat pradžių jis yra prieinamas naudojant atvirojo kodo (GPL), nemokamai naudojamas, modifikuojamas ir platinamas. Jis yra plačiai naudojamas ir labai populiarus pramonėje. Iš pradžių „PostgreSQL“ buvo sukurtas veikti tik UNIX / Linux sistemose, o vėliau buvo sukurtas veikti kitose sistemose, tokiose kaip „Microsoft Windows“, „Solaris“ ir BSD. Dabartinę „PostgreSQL“ plėtrą visame pasaulyje vykdo daugybė savanorių.

„PostgreSQL“ sąranka

Jei dar to nepadarėte, įdiekite „PostgreSQL“ serverį ir klientą vietoje, pavyzdžiui, „Debian GNU / Linux“, kaip aprašyta žemiau naudojant apt. Du straipsniai susiję su „PostgreSQL“ - Yunio Saido straipsnyje [5] aptariama „Ubuntu“ sąranka. Vis dėlto jis tik subraižo paviršių, o mano ankstesniame straipsnyje pagrindinis dėmesys skiriamas PostgreSQL deriniui su GIS plėtiniu PostGIS [6]. Čia pateiktame aprašyme apibendrinami visi veiksmai, kurių mums reikia šiai sąrankai.

# apt install postgresql-13 postgresql-client-13

Tada patikrinkite, ar veikia „PostgreSQL“, naudodami komandą pg_isready. Tai yra „PostgreSQL“ paketo dalis.

# pg_isready
/ var / run / postgresql: 5432 - Priimamos jungtys

Aukščiau pateiktas išvestis rodo, kad „PostgreSQL“ yra parengta ir laukia gaunamų ryšių 5432 prievade. Jei nenustatyta kitaip, tai yra standartinė konfigūracija. Kitas žingsnis - nustatyti UNIX vartotojo „Postgres“ slaptažodį:

# passwd Postgres

Atminkite, kad „PostgreSQL“ turi savo vartotojų duomenų bazę, o administracinis „PostgreSQL“ vartotojas „Postgres“ dar neturi slaptažodžio. Ankstesnį veiksmą reikia atlikti ir „PostgreSQL“ vartotojui „Postgres“:

# su - „Postgres“
$ psql -c "KITAS VARTOTOJO Postgres WITH PASSWORD 'slaptažodis';"

Kad būtų paprasčiau, pasirinktas slaptažodis yra tik slaptažodis ir jį reikėtų pakeisti saugesne slaptažodžio fraze kitose sistemose, o ne bandymuose. Aukščiau pateikta komanda pakeis „PostgreSQL“ vidinę vartotojo lentelę. Turėkite omenyje skirtingas kabutes - slaptažodį vienose kabutėse ir SQL užklausą dvigubose kabutėse, kad „shell“ vertėjas neteisingai įvertintų komandą. Be to, pridėkite kabliataškį po SQL užklausos prieš dvigubas kabutes komandos pabaigoje.

Tada dėl administracinių priežasčių prisijunkite prie „PostgreSQL“ kaip vartotojo „Postgres“ naudodami anksčiau sukurtą slaptažodį. Komanda vadinama psql:

$ psql

Prisijungimas iš „Apache Solr“ prie „PostgreSQL“ duomenų bazės atliekamas kaip vartotojo solr. Taigi pridėkime „PostgreSQL“ vartotojo solr ir nustatykime jam atitinkamą slaptažodžio solr vienu ypu:

$ CREATE USER solr WITH PASSWD 'solr';

Kad būtų paprasčiau, pasirinktas slaptažodis yra tik vienas ir jį reikia pakeisti saugesne slaptažodžio fraze sistemose, kurios yra gaminamos.

2 žingsnis: Duomenų struktūros paruošimas

Norint išsaugoti ir gauti duomenis, reikalinga atitinkama duomenų bazė. Žemiau pateikta komanda sukuria naudotojų solr priklausančių automobilių duomenų bazę, kuri bus naudojama vėliau.

$ SUKURTI DUOMENŲ BAZĖS automobilius SU SAVININKU = solr;

Tada prisijunkite prie naujai sukurtų duomenų bazės automobilių kaip vartotojo solr. Parinktis -d (trumpa parinktis -dbname) apibrėžia duomenų bazės pavadinimą, o -U (trumpa parinktis -username) - „PostgreSQL“ vartotojo vardą.

$ psql -d automobiliai -U solr

Tuščia duomenų bazė nėra naudinga, tačiau struktūrizuotos lentelės su turiniu - ne. Sukurkite stalo automobilių struktūrą taip:

$ CREATE TABLE automobiliai (
id int,
padaryti varcharą (100),
modelio varchar (100),
aprašymas varchar (100),
spalvų varcharas (50),
kaina tarpt
);

Stalo automobiliuose yra šeši duomenų laukai - id (sveikas skaičius), markė (100 ilgio eilutė), modelis (100 ilgio eilutė), aprašymas (100 ilgio eilutė), spalva (50 ilgio eilutė) ir kaina (sveikasis skaičius). Norėdami turėti kai kurių duomenų pavyzdžių, lentelių automobiliuose pridėkite šias reikšmes kaip SQL sakinius:

$ INSERT INTO automobiliai (id, markė, modelis, aprašymas, spalva, kaina)
VERTYBĖS (1, „BMW“, „X5“, „Kietas automobilis“, „pilkas“, 45000);
$ INSERT INTO automobiliai (id, markė, modelis, aprašymas, spalva, kaina)
VERTYBĖS (2, „Audi“, „Quattro“, „lenktyninis automobilis“, „baltas“, 30000);

Rezultatas yra du įrašai, rodantys pilką BMW X5, kainuojantį 45000 USD, apibūdinamą kaip kietą automobilį, ir baltą lenktynių automobilį „Audi Quattro“, kainuojantį 30000 USD.

Tada išeikite iš „PostgreSQL“ konsolės naudodami \ q arba uždarykite.

$ \ q

3 žingsnis: „PostgreSQL“ prijungimas su „Apache Solr“

„PostgreSQL“ ir „Apache Solr“ ryšys pagrįstas dviem programinės įrangos elementais - „Java“ tvarkyklė, skirta „PostgreSQL“, vadinama „Java Database Connectivity“ (JDBC) tvarkykle, ir „Solr“ serverio konfigūracijos plėtinys. JDBC tvarkyklė prideda „Java“ sąsają prie „PostgreSQL“, o papildomas „Solr“ konfigūracijos įrašas nurodo „Solr“, kaip prisijungti prie „PostgreSQL“ naudojant JDBC tvarkyklę.

JDBC tvarkyklė pridedama kaip vartotojo šaknis taip ir įdiegiama JDBC tvarkyklė iš „Debian“ paketų saugyklos:

# apt-get install libpostgresql-jdbc-java

„Apache Solr“ pusėje taip pat turi egzistuoti atitinkamas mazgas. Jei dar nepadarėte, kaip „UNIX“ vartotojas sprendžia, sukurkite mazgo automobilius taip:

$ bin / solr sukurti -c automobilius

Tada išplėskite naujai sukurto mazgo „Solr“ konfigūraciją. Pridėkite žemiau esančias eilutes į failą / var / solr / data / automobiliai / conf / solrconfig.xml:

db-data-config.xml

Be to, sukurkite failą / var / solr / data / cars / conf / data-config.xml ir jame laikykite šį turinį:

Aukščiau pateiktos eilutės atitinka ankstesnius nustatymus ir apibrėžia JDBC tvarkyklę, nurodykite 5432 prievadą, kurį norite prisijungti prie „PostgreSQL“ DBVS, kaip vartotojo solr su atitinkamu slaptažodžiu, ir nustatykite, kad SQL užklausa būtų vykdoma iš „PostgreSQL“. Kad būtų paprasčiau, tai yra SELECT sakinys, kuris sugriebia visą lentelės turinį.

Tada iš naujo paleiskite „Solr“ serverį, kad suaktyvintumėte pakeitimus. Kai vartotojo šaknis vykdo šią komandą:

# systemctl restart solr

Paskutinis žingsnis yra duomenų importavimas, pavyzdžiui, naudojant „Solr“ žiniatinklio sąsają. Mazgo pasirinkimo laukelyje pasirenkami mazgo automobiliai, tada meniu „Mazgas“, esančiame po įrašu „Dataimport“, tada pasirinkus visišką importavimą iš komandos „Komanda“ tiesiai į jį. Galiausiai paspauskite mygtuką Vykdyti. Žemiau pateiktame paveikslėlyje parodyta, kad „Solr“ sėkmingai indeksavo duomenis.

4 žingsnis: Užklausa duomenų iš DBVS

Ankstesniame straipsnyje [3] išsamiai kalbama apie duomenų užklausas, rezultatų paiešką ir norimo išvesties formato pasirinkimą - CSV, XML arba JSON. Užklausos duomenys atliekami panašiai, kaip išmokote anksčiau, ir jokio skirtumo vartotojui nematyti. „Solr“ atlieka visą darbą užkulisiuose ir bendrauja su „PostgreSQL“ DBVS, prijungta, kaip apibrėžta pasirinktoje „Solr“ branduolyje ar klasteryje.

„Solr“ naudojimas nesikeičia ir užklausas galima pateikti per „Solr“ administratoriaus sąsają arba naudojant komandą „curl“ arba „wget“. „Solr“ serveriui siunčiate „Get“ užklausą su konkrečiu URL (užklausa, atnaujinimas arba ištrynimas). „Solr“ apdoroja užklausą naudodamas DBVS kaip saugyklos vienetą ir grąžina užklausos rezultatą. Tada atsakymą apdorokite vietoje.

Žemiau pateiktame pavyzdyje rodoma užklausos „/ select“ išvestis?q = *. * “JSON formatu„ Solr “administratoriaus sąsajoje. Duomenys gaunami iš anksčiau sukurtų duomenų bazių automobilių.

Išvada

Šiame straipsnyje parodyta, kaip pateikti užklausą apie „PostgreSQL“ duomenų bazę iš „Apache Solr“, ir paaiškinta atitinkama sąranka. Kitoje šios serijos dalyje sužinosite, kaip sujungti kelis „Solr“ mazgus į „Solr“ grupę.

Apie autorius

Jacqui Kabeta yra aplinkosaugininkas, aistringas tyrinėtojas, treneris ir patarėjas. Keliose Afrikos šalyse ji dirbo IT pramonėje ir NVO aplinkoje.

Frankas Hofmannas yra IT kūrėjas, treneris, autorius ir nori dirbti iš Berlyno, Ženevos ir Keiptauno. „Debian“ paketų tvarkymo knygos, kurią galite rasti dpmb, bendraautorius.org

Nuorodos ir nuorodos

„Microsoft Sculpt Touch“ belaidžio pelės apžvalga
Neseniai skaičiau apie „Microsoft Sculpt Touch“ belaidę pelę ir nusprendė ją nusipirkti. Kurį laiką naudojęs, nusprendžiau pasidalinti savo patirtimi....
„AppyMouse“ ekrano „Trackpad“ ir pelės žymeklis, skirtas „Windows“ tabletėms
Planšetinių kompiuterių vartotojai dažnai praleidžia pelės žymeklį, ypač kai įprasta naudoti nešiojamus kompiuterius. Jutiklinio ekrano išmanieji tele...
Vidutinis pelės mygtukas neveikia sistemoje „Windows 10“
The vidurinis pelės mygtukas padeda naršyti ilgus tinklalapius ir ekranus, kuriuose yra daug duomenų. Jei tai sustos, gerai, jūs naudosite klaviatūrą ...