ZomboDB是一個PostgreSQL擴展插件,支持原生的訪問方式,為PostgreSQL數據庫帶來了強大的文本索引和分析功能。
您可以加入RDS PostgreSQL插件交流釘釘群(103525002795),進行咨詢、交流和反饋,獲取更多關于插件的信息。
前提條件
RDS PostgreSQL實例版本為PostgreSQL 11。
實例內核小版本為20230830或以上。
重要20230830內核小版本之前已支持此插件,但為了規范插件管理,提升RDS PostgreSQL在插件側的安全防護,RDS計劃在內核版本迭代中陸續對部分存在安全風險的插件進行優化,部分插件在低內核小版本無法創建,更多信息,請參見【產品/功能變更】RDS PostgreSQL限制創建插件說明。
如果您的實例內核小版本低于20230830,且已經使用了此插件,則不影響使用。
如果您首次創建或重新創建此插件,請升級內核小版本到最新。
背景信息
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/');
說明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官方文檔。
文檔內容是否對您有幫助?