Qdrant 1.7.0 正式发布!
Qdrant 1.7.0 引入了对稀疏向量的原生支持,实现了关键词搜索与语义搜索的混合检索;全新的 Discovery API 提供了更精确的向量搜索方式,包括发现搜索和上下文搜索;用户自定义分片功能允许灵活控制数据分布;基于快照的分片传输机制提升了集群扩展效率。此外,还包含多项性能优化和稳定性改进。
经过漫长的等待,Qdrant 1.7.0 版本终于正式发布。除了若干小修复和改进外,本次更新带来了一系列令人兴奋的全新功能。
最受期待的特性莫过于对稀疏向量的原生支持。此前,Qdrant 仅支持稠密向量,用户若需关键词搜索(如 TF-IDF、BM25)则需借助其他工具。稀疏向量虽然在理论维度上远高于稠密向量,但因其大多数维度为零,存储时仅保留非零维度,因此高效且适合关键词匹配。现在,用户可以在单一平台中同时使用稠密向量和稀疏向量,构建混合搜索系统,兼顾语义理解与精确匹配。
Discover API 的推出进一步拓展了向量的应用场景。该 API 与推荐 API 界面相似,但专注于通过“上下文”概念精化搜索参数。上下文由正负样本对组成,这些样本对将向量空间划分为积极区域和消极区域。搜索时,算法优先考虑位于积极区域内的点,或避开消极区域。Discover API 支持两种模式:发现搜索(需指定目标点)和上下文搜索(无需目标点,仅依靠上下文在 HNSW 图中探索,结果更富多样性)。
用户自定义分片功能赋予用户对数据分布的细粒度控制。以往,Qdrant 通过一致性哈希自动将点分配到分片。现在,用户可在创建集合时定义分片,并在 upsert 操作中为每个点指定分片键(shard_key)。搜索时也可通过 shard_key 参数仅查询特定分片,适用于需将相同用户数据存储在同一分片或使用专用节点的场景。
基于快照的分片传输是分布式模式下的一大技术改进。传统的流式传输方法(stream_records)需在目标节点重建 HNSW 索引。新方法则直接传输包含完整索引的快照,目标节点加载后即可立即处理请求,无需重建索引,显著提升集群动态扩展时的性能。
此外,1.7.0 版本还包含多项性能优化:改进高 CPU 系统下的 HNSW 索引构建、降低搜索尾延迟、为地理地图负载添加索引、提升大负载集群的共识稳定性,以及可配置的搜索超时等。
Qdrant 1.7.0 在开源社区的支持下持续进化,欢迎加入 Discord 社区贡献反馈。详细的发布说明可在官方文档中查阅。