ZomboDBはPostgreSQL拡張プラグインです。 ネイティブPostgreSQLによって提供されるアクセス方法をサポートします。 また、Elasticsearchを使用した強力なテキスト検索および分析機能も提供します。
背景情報
ZomboDBは、リレーショナルデータをクエリするためのクエリ言語の完全なセットを提供します。 ZomboDBインデックスを作成することもできます。 この場合、ZomboDBはリモートのElasticsearchインデックスを引き継ぎ、テキスト検索からのトランザクション的に正しいクエリ結果を保証します。
ZomboDBでは、同期や通信の問題を処理する必要なしにElasticsearchを使用できます。
ZomboDBプラグインの作成と削除
ZomboDBプラグインを作成します。
CREATE EXTENSION zombodb;ZomboDBプラグインを削除します。
DROP EXTENSION zombodb;
例
テーブルを作成します。
CREATE TABLE products ( id SERIAL8 NOT NULL PRIMARY KEY, name text NOT NULL, keywords varchar(64)[], short_summary text, long_description zdb.fulltext, price bigint, inventory_count integer, discontinued boolean default false, availability_date date );テーブルのZomboDBインデックスを作成します。
CREATE INDEX idxproducts ON products USING zombodb ((products.*)) WITH (url='localhost:9200/');説明ZomboDBはElasticsearch 7.xおよび8.xクラスターをサポートしていません。
WITH句の後には、実行中のElasticsearchクラスターを指すElasticsearchエンドポイントが続きます。
ZomboDBインデックスを使用してデータをクエリします。
SELECT * FROM products WHERE products ==> '(keywords:(sports OR box) OR long_description:"wooden away"~5) AND price:[1000 TO 20000]';説明クエリ構文の詳細については、「ZomboDBドキュメント」をご参照ください。