Apache Solr

Úvod do Apache Solr. Část 3 Připojení k PostgreSQL

Úvod do Apache Solr. Část 3 Připojení k PostgreSQL
Apache Solr [1] je rámec vyhledávače napsaný v Javě a založený na vyhledávací knihovně Lucene [6]. V předchozích dvou článcích jsme nastavili Apache Solr na brzy vydaný Debian GNU / Linux 11, zahájili jsme jedno datové jádro, nahráli ukázková data, předvedli, jak dotazovat výstupní data různými způsoby a postprocesovat to.

Toto je článek navazující na předchozí dva [2,3]. Zatím jsme načetli indexovaná data do úložiště Apache Solr a dotazovali jsme se na ně. Nyní se naučíte, jak připojit systém správy relačních databází PostgreSQL [4] k Apache Solr a provádět v něm vyhledávání pomocí schopností Solr. Díky tomu je nutné provést několik kroků popsaných níže podrobněji - nastavení PostgreSQL, příprava datové struktury v databázi PostgreSQL a připojení PostgreSQL k Apache Solr a hledání.

Krok 1: Nastavení PostgreSQL

O PostgreSQL - krátká informace

PostgreSQL je důmyslný objektově-relační systém pro správu databází. Je k dispozici pro použití a prošel aktivním vývojem již více než 30 let. Pochází z University of California, kde je považován za nástupce Ingres [7].

Od začátku je k dispozici pod otevřeným zdrojovým kódem (GPL), který lze zdarma používat, upravovat a distribuovat. To je široce používán a velmi populární v průmyslu. PostgreSQL byl původně navržen pro provoz pouze na systémech UNIX / Linux a později byl navržen pro provoz na jiných systémech, jako jsou Microsoft Windows, Solaris a BSD. Aktuální vývoj PostgreSQL provádí po celém světě mnoho dobrovolníků.

Nastavení PostgreSQL

Pokud ještě není hotovo, nainstalujte server a klienta PostgreSQL lokálně, například na Debian GNU / Linux, jak je popsáno níže, pomocí apt. Dva články se zabývají PostgreSQL - článek Yunise Saida [5] pojednává o nastavení na Ubuntu. Přesto jen škrábe povrch, zatímco můj předchozí článek se zaměřuje na kombinaci PostgreSQL s příponou GIS PostGIS [6]. Popis zde shrnuje všechny kroky, které pro toto konkrétní nastavení potřebujeme.

# apt install postgresql-13 postgresql-client-13

Dále pomocí příkazu pg_isready ověřte, zda běží PostgreSQL. Toto je nástroj, který je součástí balíčku PostgreSQL.

# pg_isready
/ var / run / postgresql: 5432 - připojení jsou přijímána

Výstup výše ukazuje, že PostgreSQL je připraven a čeká na příchozí připojení na portu 5432. Pokud není nastaveno jinak, jedná se o standardní konfiguraci. Dalším krokem je nastavení hesla pro uživatele systému UNIX Postgres:

# passwd Postgres

Mějte na paměti, že PostgreSQL má vlastní databázi uživatelů, zatímco administrativní uživatel PostgreSQL Postgres ještě nemá heslo. Předchozí krok je třeba udělat i pro uživatele PostgreSQL Postgres:

# su - Postgres
$ psql -c "ZMĚNIT UŽIVATELE Postgres S HESLEM 'heslo';"

Pro zjednodušení je zvolené heslo pouze heslo a mělo by být nahrazeno bezpečnější frází hesla v jiných systémech než testování. Výše uvedený příkaz změní interní uživatelskou tabulku PostgreSQL. Uvědomte si různé uvozovky - heslo v jednoduchých uvozovkách a dotaz SQL v uvozovkách, které zabrání interpretovi prostředí ve špatném vyhodnocení příkazu. Přidejte také středník za dotaz SQL před uvozovkami na konci příkazu.

Dále se z administrativních důvodů připojte k PostgreSQL jako uživatel Postgres s dříve vytvořeným heslem. Příkaz se nazývá psql:

$ psql

Připojení z Apache Solr k databázi PostgreSQL se provádí jako uživatelské řešení. Pojďme tedy přidat uživatelské řešení PostgreSQL a nastavit mu odpovídající řešení hesel najednou:

$ CREATE USER solr S PASSWD 'solr';

Pro zjednodušení je zvolené heslo pouze solr a mělo by být nahrazeno bezpečnější frází hesla v systémech, které jsou ve výrobě.

Krok 2: Příprava datové struktury

K ukládání a načítání dat je nutná odpovídající databáze. Následující příkaz vytvoří databázi automobilů, která patří uživateli solr a bude použita později.

$ VYTVOŘIT DATABÁZE auta S VLASTNÍKEM = solr;

Poté se připojte k nově vytvořeným databázovým vozům jako uživatel solr. Možnost -d (krátká volba pro -dbname) definuje název databáze a -U (krátká volba pro -username) jméno uživatele PostgreSQL.

$ psql -d auta -U solr

Prázdná databáze není užitečná, ale strukturované tabulky s obsahem ano. Vytvořte strukturu stolních vozů následovně:

$ CREATE TABLE cars (
id int,
udělat varchar (100),
model varchar (100),
popis varchar (100),
barevný varchar (50),
cena int
);

Tabulkové vozy obsahují šest datových polí - id (integer), make (řetězec o délce 100), model (řetězec o délce 100), description (řetězec o délce 100), color (řetězec o délce 50) a cena (celé číslo). Chcete-li mít některá ukázková data, přidejte do tabulkových vozů následující hodnoty jako příkazy SQL:

$ INSERT INTO cars (id, make, model, description, color, price)
HODNOTY (1, 'BMW', 'X5', 'Cool car', 'grey', 45000);
$ INSERT INTO cars (id, make, model, description, color, price)
HODNOTY (2, „Audi“, „Quattro“, „závodní auto“, „bílé“, 30000);

Výsledkem jsou dva příspěvky představující šedé BMW X5, které stojí 45 000 USD, popsané jako chladné auto, a bílé závodní auto Audi Quattro, které stojí 30000 USD.

Dále ukončete z konzoly PostgreSQL pomocí \ q, nebo ukončete.

$ \ q

Krok 3: Připojení PostgreSQL k Apache Solr

Spojení PostgreSQL a Apache Solr je založeno na dvou částech softwaru - ovladači Java pro PostgreSQL nazvaném ovladač Java Database Connectivity (JDBC) a rozšíření konfigurace serveru Solr. Ovladač JDBC přidává do PostgreSQL rozhraní Java a další položka v konfiguraci Solr říká Solr, jak se připojit k PostgreSQL pomocí ovladače JDBC.

Přidání ovladače JDBC se provádí jako uživatel root následujícím způsobem a ovladač JDBC se nainstaluje z úložiště balíčků Debian:

# apt-get install libpostgresql-jdbc-java

Na straně Apache Solr musí také existovat odpovídající uzel. Pokud to ještě není hotové, vytvořte jako uživatel systému UNIX vozy uzlů následujícím způsobem:

$ bin / solr create -c cars

Dále rozšířte konfiguraci Solr pro nově vytvořený uzel. Přidejte následující řádky do souboru / var / solr / data / cars / conf / solrconfig.xml:

db-data-config.xml

Dále vytvořte soubor / var / solr / data / cars / conf / data-config.xml a uložte do něj následující obsah:

Řádky výše odpovídají předchozímu nastavení a definují ovladač JDBC, určují port 5432 pro připojení k PostgreSQL DBMS jako uživatelské řešení s odpovídajícím heslem a nastavují, aby byl SQL dotaz prováděn z PostgreSQL. Pro zjednodušení je to příkaz SELECT, který popadne celý obsah tabulky.

Poté restartujte server Solr a aktivujte změny. Jako uživatel root proveďte následující příkaz:

# systemctl restart solr

Posledním krokem je import dat, například pomocí webového rozhraní Solr. Pole pro výběr uzlu vybere vozy uzlů, poté z nabídky Uzel pod položkou Dataimport následované výběrem úplného importu z nabídky Příkaz doprava. Nakonec stiskněte tlačítko Spustit. Obrázek níže ukazuje, že společnost Solr úspěšně indexovala data.

Krok 4: Dotazování na data z DBMS

Předchozí článek [3] se zabývá podrobným dotazováním dat, načítáním výsledků a výběrem požadovaného výstupního formátu - CSV, XML nebo JSON. Dotazování na data se provádí podobně jako to, co jste se naučili dříve, a uživatel nevidí žádný rozdíl. Solr provádí veškerou práci v zákulisí a komunikuje s PostgreSQL DBMS připojeným podle definice ve vybraném jádru nebo klastru Solr.

Využití Solr se nemění a dotazy lze odesílat přes administrátorské rozhraní Solr nebo pomocí curl nebo wget na příkazovém řádku. Na server Solr odešlete požadavek Získat s konkrétní adresou URL (dotaz, aktualizace nebo odstranění). Solr zpracuje požadavek pomocí DBMS jako úložné jednotky a vrátí výsledek požadavku. Dále post-process odpověď místně.

Níže uvedený příklad ukazuje výstup dotazu „/ select?q = *. * ”Ve formátu JSON v administrátorském rozhraní Solr. Data se načítají z databázových vozů, které jsme vytvořili dříve.

Závěr

Tento článek ukazuje, jak dotazovat databázi PostgreSQL z Apache Solr a vysvětluje odpovídající nastavení. V další části této série se naučíte, jak kombinovat několik uzlů Solr do clusteru Solr.

O autorech

Jacqui Kabeta je ekolog, vášnivý výzkumník, trenér a mentor. V několika afrických zemích pracovala v IT průmyslu a prostředí nevládních organizací.

Frank Hofmann je IT vývojář, trenér a autor a dává přednost práci z Berlína, Ženevy a Kapského Města. Spoluautor knihy Debian Package Management Book, která je k dispozici u dpmb.org

Odkazy a reference

Jak změnit velikost, barvu a schéma kurzoru myši a kurzoru v systému Windows 10
Ukazatel myši a kurzor ve Windows 10 jsou velmi důležité aspekty operačního systému. To lze říci i pro jiné operační systémy, takže ve skutečnosti nej...
Hry Zdarma a open source herní motory pro vývoj linuxových her
Zdarma a open source herní motory pro vývoj linuxových her
Tento článek pokryje seznam bezplatných a otevřených herních enginů, které lze použít pro vývoj 2D a 3D her v systému Linux. Existuje mnoho takových h...
Hry Výukový program Shadow of the Tomb Raider pro Linux
Výukový program Shadow of the Tomb Raider pro Linux
Shadow of the Tomb Raider je dvanáctý přírůstek do série Tomb Raider - série akčních adventur vytvořená Eidosem Montrealem. Tato hra byla docela dobře...