ZomboDB —— 集成 Elasticsearch 的 PostgresSQL 扩展
ZomboDB 通过使用 Elasticsearch 作为索引类型,为 Postgres 带来了强大的文本搜索和分析功能。其全面的查询语言和 SQL 函数支持以新颖和创造性的方式来查询您的关系数据。
从技术角度来看,ZomboDB是一个100%用Rust和PGX编写的本地Postgres扩展。ZomboDB使用Postgres的索引访问方法API来直接管理和优化ZomboDB的专门索引。作为一个原生的Postgres索引类型,ZomboDB允许你用CREATE INDEX ... USING zombodb在你现有的Postgres表中。在这一点上,ZomboDB接管并完全管理远程Elasticsearch索引,保证交易上正确的文本搜索查询结果。
ZomboDB完全兼容Postgres的所有查询计划类型和大多数SQL命令,如CREATE INDEX, COPY, INSERT, UPDATE, DELETE, SELECT, ALTER, DROP, REINDEX, (auto)VACUUM,等等。
无论你是使用 Elasticsearch 云提供商还是管理你自己的集群都没有关系——ZomboDB 通过其 RESTful API 与 Elasticsearch 通信,因此你可以采用任何一种方式。
ZomboDB 允许你直接从 Postgres 使用 Elasticsearch 的强大功能和可扩展性。你不必管理 Postgres 和 Elasticsearch 之间的事务、异步索引管道、复杂的重新索引过程或多个数据访问代码路径——ZomboDB 会为你完成这一切。
特性:
- MVCC 正确的文本搜索和聚合结果
- 通过标准 SQL 进行管理和查询
- 适用于当前的 Elasticsearch 版本(无需插件)
- 查询使用
- Elasticsearch 的查询字符串语法通过
dsl.query_string() - ZQL -- ZomboDB 的自定义查询语言
- 原始 Elasticsearch QueryDSL JSON
- ZomboDB 的类型安全查询生成器 SQL 语法
- 以上的任意组合,甚至与标准 SQL 组合
- Elasticsearch 的查询字符串语法通过
- 评分和突出显示支持
- 支持所有 Elasticsearch 聚合
- 自动 Elasticsearch 映射生成
- 能够映射自定义域
- 每字段自定义映射
json/jsonb自动映射为动态嵌套对象- 支持全套Elasticsearch 语言分析器
- 支持Elasticsearch的相似度模块
- Hot standby兼容
- 支持索引和搜索 PostGIS
geometry和geography类型