@concavejs/docstore-cf-hyperdrive (英语)
外部 SQL 数据库( PostgreSQL, MySQL) 的 DocStore 通过
Cloudflare Hyperdrive, 加上 Postgres 本地搜索, 矢量, 和blob
供养者. 店铺是用便携式纸写的 SqlAdapter 接口,
因此,他们也在工人之外经营 任何Postgres客户端执行它.
预览:验证 schema 设置、数据库兼容性、备份和还原 在使用此适配器获取重要数据之前对自己的提供者进行钻入.
文件存储
HyperdriveDocStore 完全执行 DocStore 合同(MVCC文件)
日志、索引条目、全域),而不是通用SQL。 为您选择适配器
方言:
import { HyperdriveDocStore, PostgresHyperdriveAdapter } from "@concavejs/docstore-cf-hyperdrive";
const store = new HyperdriveDocStore(new PostgresHyperdriveAdapter(env.HYPERDRIVE));
在云层上,更喜欢 hyperdrive() 来自
@concavejs/runtime-cf是因为 defineConcave 组成,它连接一切
自动在下方 postgres 方言学. 这个 mysql 方言提供
只有doctore(没有 Postgres 本地搜索,向量或blobs) .
后本地搜索 : PostgresSearchStore
通过共享搜索全文 concave_search_entries 带有一个表格
生成 tsvector 栏和 GIN 索引. syncWrites() 承诺的镜像
文件修订(与文件表相同的MVCC时间戳),因此查询
正在快速识别:查询时间 readTimestamp 将修订内容看成a
交易在那个快照会.
- Convex 兼容匹配: 和查询符, 最后一个前缀匹配
术语,
ts_rank和创造时间的打分. - 通过 a 将过滤字段推倒
filter_values @> …JSONB 封锁 (GIN-indexed)和后过滤的准确在JS. - 切换使用
simple默认配置; 通过regconfig改为 选择终止.
后内置矢量 : PostgresVecStore
pgvector 备份的矢量搜索,每个孔径矢量有一个物理表 索引(媒介列有固定尺寸)。 尺寸来自计划 当宣布时,否则表格会从第一次同步时懒散地创建 嵌入 。 搜索使用有 HNSW 索引的余弦距离, 并加入到 文档表.
扩展策略 :
mode: "native"失败setupSchema()如果 pgvector 不可用的话.mode: "auto"(默认)——探测器CREATE EXTENSION IF NOT EXISTS vector, (中文(简体) ), 倒计时fallback数字 :"scan"(违约)——代表提供scanStore(通常是 文档存储扫描执行)."error"——拒绝向量搜索.
邮递: PostgresBlobStore
组合字节和元数据 concave_blobs 表格 (单位:千美元)bytea 机构),给予
在同一数据库中保存文档的交易持久性。 对象
存储(R2/S3)仍然更适合大型对象.
测试
src/postgres-stores.test.ts 以 PGlite- 真实的 Postgres 来管理商店
(带有pgvector)在WASM中——覆盖FTS前缀匹配,过滤推倒,
即刻读取 墓碑 余弦排行榜 扩展后退 和blob
合同。 运行 bun test 本包中.
支助和许可证
见大众 支助政策 用于α支持 边界。 船坞根据 自定义功能源许可证条款。 。 。 .