ZomboDB是一个PostgreSQL扩展插件,支持原生的访问方式,为PostgreSQL数据库带来了强大的文本索引和分析功能。
前提条件
-
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官方文档。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/155704.html