让 HNSW 实际上与 WHERE 子句一起使用 DuckDB 中的透明过滤矢量搜索,或者:为什么后过滤被破坏以及如何处理。
tl;dr :DuckDB 的内置向量搜索扩展在索引返回结果后应用 WHERE 子句,这意味着过滤查询会默默地返回比请求的结果少的结果(通常为零)。
hnsw_acorn 通过使用 ACORN-1 将谓词推入图遍历来修复此问题,添加 RaBitQ 量化以减少 21-30 倍内存,并通过优化器重写处理元数据连接和分组 top-K。
从社区安装 hnsw_acorn。
问题 DuckDB 附带了一个名为 duckdb-vss 的矢量搜索扩展。
如果全球前 10 名中没有一个是韩国人,则您将获得 0 行。
来源:HackerNews New
