如何在Qdrant中按Payload嵌套对象搜索Points?
Qdrant中按嵌套Payload字段(payload.metadata.name)搜索Points
你可以通过点分隔的字段路径指定嵌套的Payload属性,直接在filter的key中使用metadata.name即可,无需修改现有Payload结构。
示例查询(/scroll接口)
{ "filter": { "must": [ { "key": "metadata.name", "match": { "exact": "test-test" } } ] }, "limit": 1, "with_payload": true, "with_vector": false }
说明
- 若需精确匹配
name字段值,用exact类型的match;若要模糊文本匹配,可换成你之前查询page_content时用的text类型 - Qdrant支持任意层级的嵌套Payload查询,只要用点连接各层级字段名即可,比如更深的嵌套
metadata.info.author也可直接作为key使用
补充:多条件组合查询
如果需要同时匹配page_content和metadata.name,可将两个条件放在must数组中:
{ "filter": { "must": [ { "key": "page_content", "match": { "text": "days, " } }, { "key": "metadata.name", "match": { "exact": "test-test" } } ] }, "limit": 1, "with_payload": true, "with_vector": false }
内容的提问来源于stack exchange,提问作者Davy
相关产品推荐
相关产品推荐

