过滤概述
Milvus 提供强大的过滤功能,可对数据进行精确查询。过滤表达式允许你针对特定的标量字段,用不同的条件细化搜索结果。本指南介绍如何在 Milvus 中使用过滤表达式,并以`query` 操作为例进行说明。您还可以在搜索和删除请求中应用这些过滤器。
基本运算符
Milvus 提供丰富的基本运算符,帮助您高效地过滤和查询数据。这些运算符允许您根据标量字段、数字计算、逻辑条件等来完善搜索条件。了解如何使用这些运算符对于建立精确查询和最大限度地提高搜索效率至关重要。
Pattern Matching
Milvus 支持使用 LIKE wildcard patterns 和 RE2 regular expressions 进行字符串 Pattern Matching。你可以使用 pattern filters,在 VARCHAR 字段、JSON 字符串路径或 ARRAY 元素中匹配前缀、后缀、子串、结构化编码、邮箱域名、URL 路径以及其他字符串模式。
过滤模板
在 Milvus 中,包含大量元素的复杂过滤表达式,尤其是那些涉及非 ASCII 字符(如中日韩字符)的表达式,会严重影响查询性能。为了解决这个问题,Milvus 引入了过滤表达式模板机制,旨在通过减少解析复杂表达式所花费的时间来提高效率。本页介绍了在搜索、查询和删除操作中使用过滤表达式模板的方法。
JSON 运算符
Milvus 支持用于查询和过滤 JSON 字段的高级运算符,使其成为管理复杂结构化数据的完美工具。这些运算符可实现对 JSON 文档的高效查询,允许您根据 JSON 字段中的特定元素、值或条件检索实体。本节将指导您在 Milvus 中使用特定于 JSON 的运算符,并提供实际示例来说明其功能。
ARRAY Operators
Milvus 提供功能强大的运算符来查询数组字段,允许你根据数组内容过滤和检索实体。
StructArray Operators
使用元素过滤器和匹配族运算符过滤 StructArray 字段中的标量子字段。
随机抽样
在处理大规模数据集时,您往往不需要处理所有数据来获得洞察力或测试过滤逻辑。随机抽样提供了一种解决方案,让您可以处理具有统计代表性的数据子集,从而大大减少查询时间和资源消耗。
Geometry 运算符
Milvus 支持对几何字段进行空间过滤的一系列运算符,这些运算符对于管理和分析几何数据至关重要。通过这些运算符,可以根据对象之间的几何关系检索实体。