VikingDB具备多种检索类型与多种检索过滤能力。用户可按需选择一种适宜的检索类型,并配合一种或多种检索过滤能力来使用。
向量近邻检索是一种基于向量空间模型的检索方法,通过计算向量之间的相似度进行检索。在一个给定向量数据集中,向量近邻检索按照某种度量方式(比如内积、欧式距离),对向量构建的一种时间和空间上比较高效的数据结构,能够高效地检索出与目标向量相似的 K 个向量。
结合稠密向量(捕捉语义信息)和稀疏向量(保留关键词信息)进行联合检索的方法。通过融合两种向量的得分,可以兼顾语义相关性和关键词匹配的精度。适用于需要同时考虑语义理解和关键词匹配的复杂检索任务。
对不同模态的数据(如文本、图像、音频等)进行统一编码和检索,通过将多种模态的数据映射到同一向量空间,实现跨模态的相似度计算,支持文搜图,图搜图,图搜文+图等场景。
标量排序检索指的是基于标量值的检索方法。在向量数据库中,每个向量都有一个或多个标量值,标量排序检索可以基于这些标量值进行检索,找到与查询相关的数据。例如文档检索中的作者特征检索。
随机检索是一种在未指定查询内容的情况下,从数据集中随机返回若干条记录的检索方式。随机检索同样支持过滤和对检索结果的后处理,可用于对比召回效果、数据过滤等场景。
在向量检索过程中,基于结构化的标量字段(如数值、布尔值、日期等)设置过滤条件,以限制候选数据的范围,适用于需要在特定条件下进行向量检索的场景,如只检索价格在某一范围内的商品、发布日期在某一时间段内的文章等。
基于唯一标识符(主键)对数据进行精确匹配的过滤方式。通常用于快速定位特定的数据记录。适用于需要对特定数据进行更新、删除或精确查询的场景,如根据用户ID检索用户信息等。
一种检索后处理能力,用于在向量召回之后,对候选数据进行进一步的过滤和优化,确保最终返回的检索结果更加精准、高效。VikingDB 提供了以下几种后置过滤能力:
利用正则表达式对字符串字段进行模式匹配的过滤方式。适用于需要进行复杂字符串匹配的场景,如日志分析、文本搜索等需要进行复杂字符串模式匹配的场景,如匹配特定格式的日志条目等。
一种基于字符串字段内容进行子串匹配的过滤方式。它允许用户查找字段中包含特定关键词或字符的数据记录。适用于需要根据字段中包含特定关键词进行筛选的场景,如查找标题中包含某个词语的文章、描述中包含特定短语的商品等。
频控是指在向量检索过程中,限制某个特定字段的取值在一次召回结果中出现的最大次数。例如,在检索商品时,可以设置每个品牌在结果中最多出现 3 次,以避免某个品牌的商品过度集中。
聚合统计是指在向量数据库中对满足特定查询条件的数据集合进行统计计算的过程。目前支持的聚合操作为计数(COUNT),适用于需要对查询结果进行统计分析的场景,如统计某个类别下的商品数量、计算某个时间段内的销售总额等。