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官方文档](https://www.zombodb.com/documentation/)。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




