搜索与重排
Milvus 商业版提供向量搜索功能,并针对向量搜索性能推出多种优化方案。在本章中,您将了解包括基本相似最近邻搜索(ANN)在内的多种搜索方式的原理、使用和相关注意事项。
基本 Vector Search [READ MORE]
近似最近邻(ANN)Search 通过构建索引的方式对向量空间中的向量进行预排序,并在收到 Search 请求时根据索引快速定位到与查询向量相似可能性较高的子集中进行对比查询,从而提升查询效率。本节主要介绍如何使用 Milvus 进行 ANN Search 及相关的注意事项。
召回调优 [READ MORE]
Zilliz Cloud 引入了一个名为 `level` 的搜索参数,允许用户通过调整该参数来平衡召回率和搜索性能。同时,Zilliz Cloud 还允许用户设置 `enablerecallcalculation` 参数来决定是否在搜索结果中包含预估召回率信息。您可以配合使用这两个参数来对向量搜索结果进行调优。
Filtered Search [READ MORE]
近似最近邻(ANN) Search 可以根据指定的非结构化数据(向量)找到与之相似的一批非结构化数据(向量),但是无法做到精确匹配。对于简单的精确匹配需求,可以使用过滤条件表达式基于部分标量字段进行文本过滤。本节将介绍如何在 ANN Search 中使用过滤条件表达式及相关注意事项。
Range Search [READ MORE]
Range Search 是一种通过指定搜索结果的相似度得分范围的方式提升 ANN Search 的召回质量的搜索增强方法。本节将介绍如何使用 Range Search 以及相关注意事项。
Grouping Search [READ MORE]
如果搜索结果中所有 Entity 在某个标量字段上的取值都相同时,搜索结果可能并不能真实反映与查询向量相似的所有向量在向量空间中的分布情况。为了提升召回结果的多样性,可以考虑使用 Grouping Search。本节将介绍如何使用 Grouping Search 以及与之相关的注意事项。
Hybrid Search [READ MORE]
Hybrid Search 是指同时进行多路搜索,对多路搜索的结果进行重排,最终返还单路结果的搜索方式。使用 Hybrid Search 能够提升搜索结果的准确性。
Query [READ MORE]
Zilliz Cloud 除了支持 ANN Search 外,还提供基于标量的过滤查询功能。本节将介绍如何使用 Query、Get 和 QueryIterator 进行标量查询以及进行标量查询时的注意事项。
过滤表达式 [READ MORE]
本章将介绍如何在标量字段上进行过滤以及支持的过滤操作符。
全文搜索 [READ MORE]
在 Zilliz Cloud 中,全文搜索是对基于稠密向量](./use-dense-vector)的语义搜索的补充。它能够在大规模文本集合中查找包含特定术语或短语的文本,弥补语义搜索的遗漏,从而提升整体搜索效果。它支持直接插入和使用原始文本数据进行相似性搜索,Milvus 会自动将文本转换为[稀疏向量](./use-sparse-vector)表示。全文搜索使用 [BM25 算法进行相关性评分,根据查询文本返回最相关的文档,从而提高文本搜索的整体精度。
精确文本匹配 [READ MORE]
Milvus 中的精确文本匹配功能能够基于特定术语实现精确的文档检索。通过使用关键词预筛选文档,可以缩小向量搜索的范围,从而提升搜索效率。该功能还可以结合标量过滤,以进一步优化查询结果。
Elasticsearch 查询语句转换 [READ MORE]
基于 Apache Lucene 构建的Elasticsearch是领先的开源搜索引擎。然而,它在现代 AI 应用程序中面临挑战,包括高更新成本、较差的实时性能、低效的分片管理、非云原生设计以及过度的资源需求。作为云原生向量数据库,Zilliz Cloud 通过解耦的存储和计算、高维数据的高效索引以及与现代基础设施的无缝集成克服了这些问题,并为 AI 工作负载提供了卓越的性能和可扩展性。
Search Iterator [READ MORE]
ANN Search 单次召回的 Entity 有最大数量限制,单纯使用基本 ANN Search 可能无法应对大规模召回的需求。对于 topK 大于 16,384 的 ANN Search 请求,可以考虑使用 Search Iterator。本节将介绍如何使用 Search Iterator 以及与相关的注意事项。
使用 Partition Key [READ MORE]
Partition Key 是一种基于 Partition 的搜索优化方案。通过指定某个标量字段为 Partition Key 并在搜索时指定基于 Partition Key 的过滤条件表达式将搜索范围缩小到若干 Partition 中,从而提高搜索效率。本文将介绍如何使用 Partition key 及相关注意事项。
使用 mmap [READ MORE]
Mmap 允许在不将磁盘上的文件加载到内存的情况下通过内存访问这些文件。通过配置 mmap,Zilliz Cloud 可以根据访问频次的不同将索引和数据分别存放到内存或磁盘上,不仅优化了数据加载行为,扩大了 Collection 的容量,也不会给搜索性能带来负面影响。本文将帮助您理解 Zilliz Cloud 如何利用 mmap 实现快速高效的数据存储和检索能力及使用该能力需要注意的相关事项。
一致性水平 [READ MORE]
作为一款分布式向量数据库,Zilliz Cloud 提供了多种一致性水平来确保在数据读写期间每个节点或副本都能获取到相同的数据。当前,支持使用的一致性水平包括 Strong、Bounded、Eventually 。其中,Bounded 是默认使用的一致性水平。
相似度类型 [READ MORE]
在度量向量相似性时,相似度类型发挥着关键作用。选择恰当的相似度类型可以极大地提升分类与聚类的效果。
Reranking [READ MORE]
Zilliz Cloud Hybrid Search 功能通过多路搜索单路召回实现更精准的搜索结果。多路搜索会返回多组结果,因此需要通过 Reranking 对多组搜索结果进行重新排序,最终合并成一组结果,实现单路召回。本节将介绍 Zilliz Cloud 中支持的 Reranking 策略并指导您挑选合适的 Reranking 策略。