See on jätkuprogramm kahele eelmisele [2,3]. Siiani laadisime indekseeritud andmed Apache Solri salvestusruumi ja küsisime selle kohta andmeid. Nüüd saate teada, kuidas relatsiooniandmebaasi haldussüsteemi PostgreSQL [4] Apache Solriga ühendada ja selles Solri võimalusi kasutades otsinguid teha. Seetõttu on vaja teha mitu allpool kirjeldatud toimingut üksikasjalikumalt - seadistada PostgreSQL, koostada PostgreSQL andmebaasis andmestruktuur ja ühendada PostgreSQL Apache Solriga ning teha meie otsing.
1. samm: PostgreSQL-i seadistamine
PostgreSQL-i kohta - lühike teave
PostgreSQL on leidlik objektide-relatsioonide andmebaaside haldussüsteem. See on olnud kasutamiseks saadaval ja seda on aktiivselt arendatud juba üle 30 aasta. See pärineb California ülikoolist, kus seda peetakse Ingresi järeltulijaks [7].
Algusest peale on see saadaval avatud lähtekoodiga (GPL), tasuta kasutamiseks, muutmiseks ja levitamiseks. See on tööstuses laialdaselt kasutatav ja väga populaarne. PostgreSQL oli algselt mõeldud töötama ainult UNIX / Linuxi süsteemides ja hiljem töötati teistes süsteemides nagu Microsoft Windows, Solaris ja BSD. PostgreSQLi praegust arendamist teevad kogu maailmas arvukad vabatahtlikud.
PostgreSQLi seadistamine
Kui see pole veel tehtud, installige PostgreSQL server ja klient kohapeal, näiteks Debiani GNU / Linuxi, nagu allpool kirjeldatud, kasutades apt. PostgreSQL-i käsitleb kaks artiklit - Yunis Saidi artikkel [5] käsitleb Ubuntu seadistamist. Sellegipoolest kriimustab ta ainult pinda, samal ajal kui minu eelmine artikkel keskendub PostgreSQL-i ja GIS-laienduse PostGIS kombinatsioonile [6]. Siinne kirjeldus võtab kokku kõik selle konkreetse seadistuse jaoks vajalikud toimingud.
# apt install postgresql-13 postgresql-klient-13Järgmisena kontrollige käsu pg_isready abil, kas PostgreSQL töötab. See on utiliit, mis on osa PostgreSQL-i paketist.
# pg_valmis/ var / run / postgresql: 5432 - ühendused on lubatud
Ülaltoodud väljund näitab, et PostgreSQL on valmis ja ootab sissetulevaid ühendusi pordil 5432. Kui pole määratud teisiti, on see standardkonfiguratsioon. Järgmine samm on UNIX-i kasutaja Postgres parooli määramine:
# passwd PostgresPidage meeles, et PostgreSQL-il on oma kasutajate andmebaas, samas kui PostgreSQL-i administraatori kasutajal Postgres pole veel parooli. Eelmine samm tuleb teha ka PostgreSQL-i kasutaja Postgres puhul:
# su - Postgres$ psql -c "ALTER USER Postgres WITH PASSWORD 'parool';"
Lihtsuse huvides on valitud parool lihtsalt parool ja see tuleks asendada turvalisema paroolilausega muudes süsteemides peale testimise. Ülaltoodud käsk muudab PostgreSQL-i sisemist kasutajatabelit. Olge teadlik erinevatest jutumärkidest - parool ühes jutumärgis ja SQL-päring topelt jutumärkides, et vältida shellitõlgi käsu valesti hindamist. Samuti lisage semikoolon pärast SQL-i päringut käsu lõpus olevate jutumärkide ette.
Järgmisena ühendage administratiivsetel põhjustel PostgreSQL-iga kasutaja Postgres kasutajana varem loodud parooliga. Käsku nimetatakse psql:
$ psqlApache Solrist ühenduse loomine PostgreSQL andmebaasiga toimub kasutaja solrina. Lisame siis PostgreSQL-i kasutaja solr ja määrame talle vastava parooli solr ühe korraga:
$ CREATE USER solr WITH PASSWD 'solr';Lihtsuse huvides on valitud parool lihtsalt solr ja see tuleks tootmises olevate süsteemide puhul asendada turvalisema paroolifraasiga.
2. samm: andmestruktuuri ettevalmistamine
Andmete salvestamiseks ja hankimiseks on vaja vastavat andmebaasi. Allolev käsk loob autode andmebaasi, mis kuulub kasutaja solrile ja mida kasutatakse hiljem.
$ LOO ANDMEBAASI OMANIKUGA autod = solr;Seejärel ühendage kasutaja loodud solaarina vastloodud andmebaasi autodega. Valik -d (lühivalik -dbnimi jaoks) määrab andmebaasi nime ja -U (lühike suvand -kasutajanimi) PostgreSQL-i kasutaja nime.
$ psql -d autod -U solrTühi andmebaas pole kasulik, kuid sisustatud struktureeritud tabelid seda teevad. Looge lauaautode struktuur järgmiselt:
$ CREATE TABLE autod (id int,
tee varcharit (100),
mudel varchar (100),
kirjeldus varchar (100),
värvi varchar (50),
hind int
);
Lauavagunid sisaldavad kuut andmevälja - id (täisarv), mark (string pikkusega 100), mudel (string pikkusega 100), kirjeldus (string pikkusega 100), värv (string pikkusega 50) ja hind (täisarv). Näidisandmete saamiseks lisage tabelautodele SQL-lausetena järgmised väärtused:
$ INSERT INTO autod (id, mark, mudel, kirjeldus, värv, hind)VÄÄRTUSED (1, 'BMW', 'X5', 'Lahe auto', 'hall', 45000);
$ INSERT INTO autod (id, mark, mudel, kirjeldus, värv, hind)
VÄÄRTUSED (2, 'Audi', 'Quattro', 'võidusõiduauto', 'valge', 30000);
Tulemuseks on kaks kirjet, mis tähistavad halli BMW X5, mis maksab 45000 USD, mida kirjeldatakse kui lahedat autot, ja valget võistlusautot Audi Quattro, mis maksab 30000 USD.
Järgmisena väljuge PostgreSQL-i konsoolilt \ q abil või sulgege.
$ \ q3. samm: PostgreSQL-i ühendamine Apache Solriga
PostgreSQL ja Apache Solri ühendus põhineb kahel tarkvaral - Java draiver PostgreSQL jaoks nimega Java Database Connectivity (JDBC) draiver ja Solri serveri konfiguratsiooni laiendus. JDBC-draiver lisab PostgreSQL-ile Java-liidese ja Solri konfiguratsiooni lisakirje annab Solrile teada, kuidas JDBC-draiveri abil PostgreSQL-iga ühenduda.
JDBC-draiveri lisamine toimub kasutajajuurena järgmiselt ja see installib JDBC-draiveri Debiani paketihoidlast:
# apt-get install libpostgresql-jdbc-javaApache Solri poolel peab olemas olema ka vastav sõlm. Kui seda pole veel tehtud, looge UNIX-i kasutajana solmeautod järgmiselt:
$ bin / solr loovad -c autosidJärgmisena laiendage vastloodud sõlme Solri konfiguratsiooni. Lisage allolevad read faili / var / solr / data / cars / conf / solrconfig.xml:
db-data-config.xmlLisaks looge fail / var / solr / data / cars / conf / data-config.xml ja salvestage sinna järgmine sisu:
Ülaltoodud read vastavad eelmistele sätetele ja määratlevad JDBC draiveri, määrake port 5432 PostgreSQL DBMS-iga ühenduse loomiseks vastava parooliga kasutajana ja määrake SQL-päring, mis käivitatakse PostgreSQL-ist. Lihtsuse huvides on see SELECT-lause, mis haarab kogu tabeli sisu.
Järgmisena taaskäivitage Solri server muudatuste aktiveerimiseks. Kasutajajuurena käivitage järgmine käsk:
# systemctl taaskäivitage solrViimane samm on andmete importimine, näiteks Solri veebiliidese abil. Sõlmevalikukast valib sõlmpunkti autod, seejärel menüüst Sõlm all kirje Dataimport, millele järgneb täieliku impordi valik menüüst Käsu. Lõpuks vajutage nuppu Execute. Allolevalt jooniselt on näha, et Solr on andmed edukalt indekseerinud.
4. samm: andmete pärimine DBMS-ist
Eelmises artiklis [3] käsitletakse andmete päringuid üksikasjalikult, tulemuse hankimist ja soovitud väljundvormingu valimist - CSV, XML või JSON. Andmete pärimine toimub sarnaselt varem õpitule ja kasutajale pole mingit erinevust näha. Solr teeb kogu töö kulisside taga ja suhtleb PostgreSQL DBMS-iga ühendatud, nagu on määratletud valitud Solri tuumas või klastris.
Solri kasutamine ei muutu ja päringuid saab esitada Solri administraatori liidese kaudu või käsureal curl või wget abil. Saate konkreetse URL-iga Get-päringu Solr-serverile (päring, värskendamine või kustutamine). Solr töötleb päringut DBMS-i abil mäluüksusena ja tagastab päringu tulemuse. Järgmisena töötlege vastus lokaalselt.
Allpool toodud näide näitab päringu „/ select?q = *. * ”JSON-vormingus Solri administraatori liideses. Andmed saadakse meie loodud andmebaasiautodest.
Järeldus
See artikkel näitab, kuidas PostgreSQL-i andmebaasi päringuid teha Apache Solrilt, ja selgitab vastavat seadistust. Selle seeria järgmises osas saate teada, kuidas ühendada mitu Solri sõlme Solri klastriks.
Autorite kohta
Jacqui Kabeta on keskkonnakaitsja, innukas uurija, koolitaja ja mentor. Mitmes Aafrika riigis on ta töötanud IT-tööstuses ja vabaühenduste keskkonnas.
Frank Hofmann on IT-arendaja, koolitaja ja autor ning eelistab töötada Berliinist, Genfist ja Kaplinnast. Debiani paketihalduse raamatu kaasautor, mis on saadaval veebisaidilt dpmb.org
Lingid ja viited
- [1] Apache Solr, https: // lutseen.apache.org / solr /
- [2] Frank Hofmann ja Jacqui Kabeta: sissejuhatus Apache Solrisse. 1. osa, https: // linuxhint.com / apache-solr-setup-a-node /
- [3] Frank Hofmann ja Jacqui Kabeta: sissejuhatus Apache Solrisse. Andmete pärimine. 2. osa, http: // linuxhint.com
- [4] PostgreSQL, https: // www.postgresql.org /
- [5] Younis ütles: PostgreSQL-i andmebaasi installimine ja seadistamine Ubuntu 20-s.04, https: // linuxhint.com / install_postgresql_-ubuntu /
- [6] Frank Hofmann: PostgreSQL-i seadistamine PostGIS-iga Debiani GNU / Linux 10-s, https: // linuxhint.com / setup_postgis_debian_postgres /
- [7] Ingres, Vikipeedia, https: // et.vikipeedia.org / wiki / Ingres_ (andmebaas)