通过JSON在pymilvus中搜索嵌入向量

0 投票
1 回答
24 浏览
提问于 2025-04-12 21:48

我正在使用 pymilvus 2.2.13 版本。
在我的数据集中,有一个 JSON 字段:
metadata: {"firld_a": "x", "list_field": ["A", "B", "C"]}
我想获取所有在它们的列表字段中包含 A 的嵌入向量。
我尝试使用 json_contains,像下面这个例子:

self.collection.query(
     expr=f'json_contains(metadata["list_field"],"A")', 
     output_fields=['metadata']
)

但是遇到了 milvus 错误,我该如何得到我想要的结果呢?

1 个回答

0

你应该使用 json_contains_any,而不是 json_contains。要注意的是,json_contains 会把每个键的值当作一个整体来看,而 json_contains_any 则是检查里面的每一个元素。

想了解更多细节,可以参考这里的 高级操作符

撰写回答