Range Filter(范围过滤器)

什么是Range Filter?

在Milvus向量数据库中,Range Filter(范围过滤器)是一个强大的工具,它可以帮助我们根据向量之间的距离精确过滤搜索结果。

想象一下:你有很多数据点,每个点和你的搜索关键词都有一个"距离",距离越小表示越相似。Range Filter允许你说:"我只要那些距离在特定范围内的结果。"

Range Filter的表达式

Range Filter使用表达式来定义我们想要的距离范围:

distance >= 最小值 && distance <= 最大值

这个表达式的意思是:

生活中的例子:找房子

想象你正在寻找一个离学校合适距离的新家:

这就像设置了一个Range Filter:

与学校的距离 >= 500米 && 与学校的距离 <= 2000米
学校
A
B
C
D
E
F
G
H
I

点击上面的房子图标查看详情!

尝试调整距离范围



符合条件的房子: A, B, C, D, E

当前过滤条件: 500米 <= 距离 <=2000米

Range Filter在Milvus中的应用

在Milvus中,Range Filter通常用于以下场景:

小贴士

在实际使用中,距离值通常在0到1之间,比如:"distance >= 0.5 && distance <= 0.9"

不同的距离计算方式(欧几里得、余弦等)会产生不同的距离值范围,需要根据具体情况调整。