碎碎念

    业务进行文件索引和空间索引的一些实践

    会员专享 · 非会员仅可阅读 30% 的正文。

    发布时间
    May 8, 2026
    阅读时间
    3 min read
    作者
    Felix
    访问
    会员专享
    这是预览内容

    非会员仅可阅读 30% 的正文。

    描述当前 Brand Space 云空间搜索的实现方式:先根据用户意图定位相关文件夹,再在该文件夹范围内做 retrieval unit 级别的混合检索。

    核心结构

    当前结构是:

    brand_space_folder
    
      -> 意图路由和资料分区
    
    brand_space_file
    
      -> 文件级资源元数据、存储信息、处理状态
    
    brand_space_retrieval_unit
    
      -> 真正参与搜索的最小证据单元
    

    也就是说,系统不是直接全局搜索文件,而是:

    用户意图
    
      -> 找到对应一级文件夹
    
      -> 在该文件夹及子文件夹内搜索证据片段
    
      -> 聚合回文件
    

    文件夹优先

    一级文件夹是 Brand Space 的第一层语义边界,例如:

    Brand Voice
    Product Facts
    Visual Identity
    Messaging Boundaries
    Campaign Assets
    

    它解决的问题是:

    这个意图应该去哪个资料区域里找?
    

    searchBrandKeyword 会先读取用户的 Brand Space 文件夹,并基于文件夹的 namepathdescriptionagentInstructions 做 folder routing。

    如果命中了一级文件夹,搜索范围会限制在该文件夹及其子文件夹下。这样可以避免一个全局关键词或语义召回把不相关资料区的文件拉进来。

    如果无法明确路由到文件夹,则退回全局 retrieval unit 搜索,保证 recall。

    文件表

    brand_space_file 保存资源级信息:

    id
    userId
    folderId
    path
    name
    fileType
    mimeType
    storageUrl
    size
    content
    processingStatus
    createdAt
    updatedAt
    

    它的职责是:

    管理资源
    展示资源
    记录处理状态
    保存原始或提取后的 evidence content
    

    它不是主要检索单位,也不保存文件级 AI compact metadata。

    检索单元

    真正进入搜索的是 brand_space_retrieval_unit

    fileId
    unitIndex
    unitType
    titleText
    evidenceText
    aliases
    keywords
    keyFacts
    restrictions
    searchVector
    embedding
    pageNumber
    timeStartMs
    timeEndMs
    

    evidenceText 是可检索、可 rerank、可引用的证据文本,来源包括:

    原文
    PDF / DOC / DOCX 解析文本
    图片 OCR 和简短视觉描述
    视频 transcript、visible text 和简短 scene description
    

    AI compact extraction 只负责提炼结构化索引字段:

    {
      aliases: string[]
      keywords: string[]
      keyFacts: string[]
      restrictions: string[]
    }
    

    这些字段会写入 retrieval unit。brand_space_file 不保存文件级 AI metadata。

    处理链路

    上传或创建资源后,worker 异步处理:

    resource
    
      -> evidence extraction
    
      -> compact AI extraction
    
      -> build retrieval units
    
      -> Gemini Embedding 2
    
      -> weighted FTS index
    
      -> mark ready
    

    不同文件类型生成不同 unit:

    txt / markdown
    
      -> text_chunk
    
    pdf / doc / docx
    
      -> document_section
    
    image
    
      -> image_asset
    
    video
    
      -> video_segment
    
    会员专享

    订阅后解锁完整文章

    支持创作、解锁全文,未来更新也会第一时间送达。

    评论

    加入讨论

    0 条评论
    登录后评论

    还没有评论,来占个沙发吧。