ZomboDB是一個PostgreSQL擴充外掛程式,支援原生的訪問方式,為PostgreSQL資料庫帶來了強大的文本索引和分析功能。
前提條件
PolarDB PostgreSQL版的版本為PostgreSQL 11。背景資訊
ZomboDB提供了一套全方位的查詢語言,可以供您自由地查詢關係型資料。此外,ZomboDB允許您建立ZomboDB類型的索引,此時ZomboDB完全接管遠端Elasticsearch,並負責文本搜尋的事務正確性。
ZomboDB的優勢在於允許您直接使用Elasticsearch的強大功能而不用處理同步、通訊等問題。
外掛程式的建立與刪除
- 建立外掛程式
CREATE EXTENSION 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格式的查詢語句詳細規則請參見ZomboDB官方文檔。