长文档向量检索更可靠:Manticore Search 内置分块
Manticore Search 在表定义里内置了向量 chunk 策略:给 model-backed 向量列加 chunk_strategy,数据库自动把长文档切片、逐片嵌入、搜索时按文档聚合返回(k 计文档数而非 chunk 数),无需外部 splitter、pipeline 或第二张表。 五种策略:truncate(旧默认,只取前 N token)、mean(多片平均回一个向量)、fixed(固定窗口切)、recursive(按段落/行/句/空格层级回退到自然边界)、sentence(按 Unicode UAX#29 句边界装箱)。 前两者产一个向量,后三者产多向量、需 float_vector_array 列。可调参数 max_tokens、overlap_tokens、max_chunks。基准测试基于 Manticore 手册(189 页、约 29.8 万词):对埋在模型窗口外的内容,recall@5 从 55.1% 升到 83.3%,MRR 从 0.44 升到 0.70,代价约 2.5× RAM、4× 摄入时间。 文章用一个四文档小例子演示 truncate 会把"备份手册末尾 TLS 证书轮换"输给"TLS 证书"诱饵,sentence 切分后该手册以 0.254 距离大幅胜出。 查询永远不切块,只切被存储的文档。对做 RAG/文档检索、又想在数据库内解决长文档向量检索的团队直接有用。






