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

如何在Qdrant DB中过滤Payload列表包含指定元素的搜索结果?

Qdrant过滤列表同时包含多个值的正确方法

要筛选出Payload中Fruit列表同时包含apple和orange的条目,你需要使用Filter的must字段而非should字段——must要求所有条件同时满足,正好符合“同时包含”的需求。

正确代码示例

from qdrant_client.http.models import Filter, FieldCondition, MatchValue

filter_condition = Filter(
    must=[
        FieldCondition(
            key='Fruit',
            match=MatchValue(value='apple')
        ),
        FieldCondition(
            key='Fruit',
            match=MatchValue(value='orange')
        )
    ]
)

原代码无效的原因

你之前使用的should字段是“或”逻辑,只要满足其中一个条件(包含apple或banana)就会被选中,这和你需要的“同时包含apple和orange”的“与”逻辑完全不符。

另外需注意Qdrant的匹配是大小写敏感的,确保代码中指定的值和Payload里的大小写一致(示例中Payload是小写的apple和orange,代码里也要保持小写)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 13:32:02