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

Qdrant中Docs集合提取文档标题列表返回空,如何解决?

Qdrant提取所有文档标题列表的解决方法

你的代码返回空值的核心问题是误用了MatchText的匹配规则:MatchText是针对全文索引字段的文本检索,*在这里不是通配符,会被当作普通字符处理,自然匹配不到任何内容。

要提取所有文档标题,你可以按以下两种方式实现:

方式1:直接获取所有点的标题(假设所有点都有meta.title)

不需要额外过滤,直接通过scroll遍历所有点,提取元数据中的标题即可:

from qdrant_client import QdrantClient, models

client = QdrantClient(url="http://localhost:6333")

# 初始化scroll的游标
next_page_offset = None
all_titles = []

while True:
    points, next_page_offset = client.scroll(
        collection_name="Docs",
        limit=100,  # 每次获取的点数,可根据需求调整
        offset=next_page_offset,
        with_payload=True,  # 必须开启才能获取元数据
        with_vectors=False  # 不需要向量,关闭节省资源
    )
    
    # 提取当前页的标题
    for point in points:
        title = point.payload.get("meta", {}).get("title")
        if title:
            all_titles.append(title)
    
    # 没有下一页时退出循环
    if next_page_offset is None:
        break

print(all_titles)

方式2:只获取存在meta.title的点的标题

如果集合中存在部分点没有meta.title,可以用ExistsCondition过滤出包含该字段的点:

from qdrant_client import QdrantClient, models

client = QdrantClient(url="http://localhost:6333")

next_page_offset = None
all_titles = []

while True:
    points, next_page_offset = client.scroll(
        collection_name="Docs",
        limit=100,
        offset=next_page_offset,
        scroll_filter=models.Filter(
            must=[
                models.FieldCondition(
                    key="meta.title",
                    match=models.MatchExists(exists=True)
                )
            ]
        ),
        with_payload=True,
        with_vectors=False
    )
    
    for point in points:
        all_titles.append(point.payload["meta"]["title"])
    
    if next_page_offset is None:
        break

print(all_titles)

关键注意事项

  • 必须设置with_payload=True,否则无法获取点的元数据(包括标题)。
  • scroll方法需要分页遍历,因为单次获取的点数有限制,通过next_page_offset循环直到没有下一页。
  • 避免使用MatchText做通配符匹配,Qdrant中针对字段存在性判断用MatchExists,模糊匹配可用MatchWildcard(但需注意字段是否为关键字段)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 02:05:07