You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PyMilvus 2.2.13查询含指定元素的JSON数组嵌入向量

解决PyMilvus 2.2.13中JSON数组元素的查询问题

你出错的核心原因是用错了函数:json_contains的作用是判断JSON对象是否包含指定的JSON子集,而非检查数组内是否存在某个元素。要实现你的需求,应该使用专门针对数组的json_array_contains函数。

正确的查询代码

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

如果需要动态传入目标元素,可以用f-string拼接表达式:

target_item = "A"
self.collection.query(
    expr=f'json_array_contains(metadata["list_field"], "{target_item}")',
    output_fields=['metadata']
)

注意事项

  • 确认你的集合中metadata字段的类型是DataType.JSON(创建集合时需明确指定)。
  • 表达式里的字符串值和JSON路径的键名必须用双引号包裹,这是Milvus表达式语法的强制要求。

内容的提问来源于stack exchange,提问作者Natalie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 06:22:08