Ez az előző kettő folytatása [2,3]. Eddig indexelt adatokat töltöttünk be az Apache Solr tárolóba, és erről lekérdeztük az adatokat. Most megtanulja, hogyan kell összekapcsolni a PostgreSQL [4] relációs adatbázis-kezelő rendszert az Apache Solr programmal, és hogyan kell keresni benne a Solr képességeinek felhasználásával. Ez szükségessé teszi az alábbiakban ismertetett több lépés részletesebb elvégzését - a PostgreSQL beállítása, az adatstruktúra előkészítése a PostgreSQL adatbázisban, a PostgreSQL összekapcsolása az Apache Solr-rel és a keresés elvégzése.
1. lépés: A PostgreSQL beállítása
A PostgreSQL-ről - rövid információ
A PostgreSQL egy ötletes objektum-relációs adatbázis-kezelő rendszer. Használható és már több mint 30 éve aktív fejlesztésen ment keresztül. A kaliforniai egyetemről származik, ahol Ingres utódjának tekintik [7].
A kezdetektől fogva elérhető nyílt forráskódú (GPL) alatt, szabadon használható, módosítható és terjeszthető. Széles körben használják és nagyon népszerűek az iparban. A PostgreSQL-t eredetileg csak UNIX / Linux rendszereken futtatták, később pedig más rendszereken, például Microsoft Windows, Solaris és BSD futtatására. A PostgreSQL jelenlegi fejlesztését világszerte számos önkéntes végzi.
PostgreSQL beállítása
Ha még nincs kész, telepítse a PostgreSQL szervert és az ügyfelet lokálisan, például a Debian GNU / Linux rendszerre, az alábbiakban leírtakkal az apt használatával. Két cikk foglalkozik a PostgreSQL-kel - Yunis Said cikke [5] az Ubuntu telepítését tárgyalja. Ennek ellenére csak a felületet karcolja meg, míg előző cikkem a PostgreSQL és a PostGIS térinformatikai kiterjesztés kombinációjára összpontosít [6]. A leírás itt összefoglalja az adott beállításhoz szükséges lépéseket.
# apt install postgresql-13 postgresql-client-13Ezután ellenőrizze, hogy a PostgreSQL fut-e a pg_isready parancs segítségével. Ez egy olyan segédprogram, amely a PostgreSQL csomag része.
# pg_isready/ var / run / postgresql: 5432 - A kapcsolatok elfogadva
A fenti kimenet azt mutatja, hogy a PostgreSQL készen áll és várja a bejövő kapcsolatokat az 5432-es porton. Eltérő beállítás hiányában ez a szokásos konfiguráció. A következő lépés a Postgres UNIX felhasználó jelszavának beállítása:
# passwd PostgresNe feledje, hogy a PostgreSQL saját felhasználói adatbázissal rendelkezik, míg a PostgreSQL adminisztratív felhasználó, a Postgres még nem rendelkezik jelszóval. Az előző lépést a PostgreSQL Postgres felhasználó esetében is meg kell tenni:
# su - Postgres$ psql -c "ALTER USER Postgres WITH PASSWORD 'jelszó';"
Az egyszerűség kedvéért a kiválasztott jelszó csak jelszó, és a tesztelésen kívüli rendszereken egy biztonságosabb jelszóval kell helyettesíteni. A fenti parancs megváltoztatja a PostgreSQL belső felhasználói tábláját. Ügyeljen a különböző idézőjelekre - a jelszó egyetlen idézőjelbe és az SQL lekérdezés kettős idézőjelbe, hogy megakadályozza a shell tolmácsot, hogy a parancsot rosszul értékelje. Ezenkívül adjon hozzá pontosvesszőt az SQL lekérdezés után a parancs végén lévő dupla idézőjelek elé.
Ezután adminisztratív okokból csatlakozzon a PostgreSQL-hez felhasználói Postgres néven az előzőleg létrehozott jelszóval. A parancs neve psql:
$ psqlAz Apache Solr-ról a PostgreSQL adatbázishoz való csatlakozás felhasználói szolrként történik. Tehát tegyük hozzá a PostgreSQL felhasználói solr-t, és állítsunk be neki egy megfelelő jelszó-solr-ot:
$ CREATE FELHASZNÁLÓ solr WITH WASSWD 'solr';Az egyszerűség kedvéért a kiválasztott jelszó csak a solr, és a biztonságosabb jelszó kifejezéssel kell helyettesíteni a gyártás alatt álló rendszereken.
2. lépés: Adatszerkezet előkészítése
Az adatok tárolásához és visszakereséséhez megfelelő adatbázisra van szükség. Az alábbi parancs létrehoz egy adatbázist az autókról, amelyek a felhasználói solrhoz tartoznak, és később felhasználásra kerülnek.
$ CREATE DATABASE autók TULAJDONOSAL = solr;Ezután csatlakozzon az újonnan létrehozott adatbázis-autókhoz, mint felhasználói solr. A -d (rövid opció a -dbname számára) meghatározza az adatbázis nevét, és -U (rövid opció a -username számára) meghatározza a PostgreSQL felhasználó nevét.
$ psql -d autók -U solrAz üres adatbázis nem hasznos, de a tartalmú strukturált táblák igen. Készítse el az asztali autók felépítését az alábbiak szerint:
$ CREATE TABLE autók (id int,
varchar gyártmány (100),
Varchar modell (100),
leírás varchar (100),
színes varchar (50),
ár int
);
A táblagépek hat adatmezőt tartalmaznak: id (egész szám), make (100 hosszúságú karakterlánc), model (100 hosszúságú karakterlánc), leírás (100 hosszúságú karakterlánc), color (50 hosszúságú karakterlánc) és ár (egész szám). Néhány minta adat hozzáadásához adja hozzá a következő értékeket a táblagépekhez SQL utasításként:
$ INSERT INTO autók (id, márka, modell, leírás, szín, ár)ÉRTÉKEK (1, „BMW”, „X5”, „Remek autó”, „szürke”, 45000);
$ INSERT INTO autók (id, márka, modell, leírás, szín, ár)
ÉRTÉKEK (2, „Audi”, „Quattro”, „versenyautó”, „fehér”, 30000);
Ennek eredményeként két olyan bejegyzés jelenik meg, amely egy szürke BMW X5-öt jelent, amelynek ára 45000 USD, és amelyet klassz autónak neveznek, valamint egy fehér versenyautót, az Audi Quattro-t, amelynek ára 30000 USD.
Ezután lépjen ki a PostgreSQL konzolból a \ q gombbal, vagy lépjen ki.
$ \ q3. lépés: A PostgreSQL összekapcsolása az Apache Solr programmal
A PostgreSQL és az Apache Solr kapcsolata két szoftveren alapszik - egy Java illesztőprogram a PostgreSQL számára, az úgynevezett Java Database Connectivity (JDBC) illesztőprogram és egy kiterjesztés a Solr szerver konfigurációjára. A JDBC illesztőprogram hozzáad egy Java felületet a PostgreSQL-hez, és a Solr konfigurációjában található további bejegyzés megmondja a Solrnak, hogyan lehet csatlakozni a PostgreSQL-hez a JDBC illesztőprogram használatával.
A JDBC illesztőprogram hozzáadása felhasználói gyökérként történik az alábbiak szerint, és telepíti a JDBC illesztőprogramot a Debian csomagtárból:
# apt-get install libpostgresql-jdbc-javaAz Apache Solr oldalán egy megfelelő csomópontnak is léteznie kell. Ha még nem tetted meg, akkor UNIX-felhasználóként létre kell hozni a csomópont-autókat az alábbiak szerint:
$ bin / solr -c autók létrehozásaEzután bontsa ki az újonnan létrehozott csomópont Solr konfigurációját. Adja hozzá az alábbi sorokat a / var / solr / data / cars / conf / solrconfig fájlba.xml:
db-data-config.xmlEzenkívül hozzon létre egy fájlt / var / solr / data / cars / conf / data-config.xml, és tárolja benne a következő tartalmat:
A fenti sorok megfelelnek az előző beállításoknak, és meghatározzák a JDBC illesztőprogramot, megadják az 5432-es portot, amely a PostgreSQL DBMS-hez csatlakozik, mint felhasználói solr a megfelelő jelszóval, és beállítják az SQL-lekérdezést, amelyet a PostgreSQL-ből kell végrehajtani. Az egyszerűség kedvéért ez egy SELECT utasítás, amely megragadja a táblázat teljes tartalmát.
Ezután indítsa újra a Solr kiszolgálót a módosítások aktiválásához. Mivel a felhasználói gyökér végrehajtja a következő parancsot:
# systemctl restart solrAz utolsó lépés az adatok importálása, például a Solr webes felület használatával. A csomópont választó mező kiválasztja a csomópont autókat, majd a Csomópont menüből a Dataimport bejegyzés alatt, majd a teljes import kiválasztásával a jobb oldali Parancs menüből. Végül nyomja meg az Execute gombot. Az alábbi ábra azt mutatja, hogy a Solr sikeresen indexelte az adatokat.
4. lépés: Adatok lekérdezése a DBMS-ből
Az előző cikk [3] részletesen foglalkozik az adatok lekérdezésével, az eredmény lekérésével és a kívánt kimeneti formátum kiválasztásával - CSV, XML vagy JSON. Az adatok lekérdezése a korábban tanultakhoz hasonlóan történik, és a felhasználó nem lát különbséget. A Solr minden munkát elvégez a kulisszák mögött, és kommunikál a PostgreSQL DBMS-sel, amely a kiválasztott Solr magban vagy klaszterben meghatározottak szerint csatlakozik.
A Solr használata nem változik, és a lekérdezéseket a Solr admin felületén keresztül vagy a curl vagy a wget parancssoron keresztül lehet elküldeni. Elküldi a Get kérést egy adott URL-lel a Solr szerverhez (lekérdezés, frissítés vagy törlés). A Solr a DBMS-t tárolási egységként dolgozza fel a kérést, és visszaadja a kérés eredményét. Ezután helyben utólagosan dolgozza fel a választ.
Az alábbi példa a „/ select lekérdezés kimenetét mutatja be?q = *. * ”JSON formátumban a Solr admin felületen. Az adatokat a korábban létrehozott adatbázis-kocsikról kapjuk meg.
Következtetés
Ez a cikk bemutatja, hogyan lehet lekérdezni egy PostgreSQL adatbázist az Apache Solr-ról, és elmagyarázza a megfelelő telepítést. A sorozat következő részében megtudhatja, hogyan lehet több Solr-csomópontot egyesíteni Solr-fürtré.
A szerzőkről
Jacqui Kabeta környezetvédő, lelkes kutató, oktató és mentor. Több afrikai országban dolgozott az informatikai iparban és a civil szervezetek környezetében.
Frank Hofmann informatikai fejlesztő, oktató és szerző, és inkább Berlinből, Genfből és Fokvárosból dolgozik. A Debian Csomagkezelő Könyv társszerzője a dpmb oldalon érhető el.org
Linkek és hivatkozások
- [1] Apache Solr, https: // lucén.apache.org / solr /
- [2] Frank Hofmann és Jacqui Kabeta: Bevezetés az Apache Solr-ba. 1. rész, https: // linuxhint.com / apache-solr-setup-a-node /
- [3] Frank Hofmann és Jacqui Kabeta: Bevezetés az Apache Solr-ba. Adatok lekérdezése. 2. rész, http: // linuxhint.com
- [4] PostgreSQL, https: // www.postgresql.org /
- [5] Younis Said: A PostgreSQL adatbázis telepítése és beállítása az Ubuntu 20-ra.04, https: // linuxhint.com / install_postgresql_-ubuntu /
- [6] Frank Hofmann: A PostgreSQL beállítása a PostGIS segítségével a Debian GNU / Linux 10 rendszeren, https: // linuxhint.com / setup_postgis_debian_postgres /
- [7] Ingres, Wikipedia, https: // en.wikipédia.org / wiki / Ingres_ (adatbázis)