轻笺

标签匹配与图谱逻辑

系统行为 · 更新于 2026-06-29

标签匹配与图谱逻辑

标签自动补全

在书签、笔记或文件编辑界面添加标签时,系统提供实时自动补全建议:

  • 匹配方式:基于 SQL LIKE '%keyword%' 模糊匹配已存在的标签名
  • 不区分大小写:英文标签大小写不敏感
  • 匹配范围:仅搜索当前用户的标签库,不跨用户

资源与标签关联机制

统一关联表

所有资源(书签、笔记、文件)通过 resource_tag_relations 表统一关联标签:

resource_tag_relations:
  tag_id         — 标签 ID
  resource_type  — 资源类型(bookmark / note / file)
  resource_id    — 资源 ID
  user_id        — 用户 ID
  source         — 关联来源(manual / auto)

多对多关系

  • 一个资源可以有多个标签:一个书签可同时关联"前端""Vue""文档"等多个标签
  • 一个标签可以关联多个资源:一个"技术"标签可同时关联技术书签、技术笔记和技术文件

标签-标签关联

标签之间通过 tag_relations 表建立关联关系:

tag_relations:
  tag_id          — 源标签 ID
  related_tag_id  — 关联标签 ID

一个标签最多可关联 4 个其他标签。

遗留兼容

书签模块同时维护两套关联表(resource_tag_relations + tag_bookmark_relations),写入时双写确保向前兼容。

标签图谱算法

图谱数据来源

标签图谱页面以力导向图展示所有标签及其关联关系:

  • 节点:每个标签是一个节点
  • 节点大小:标签关联的资源数量越多节点越大(范围 30px-52px)
  • 连线:两个标签同时出现在同一资源的标签列表中则产生连线
  • 连线粗细:共现频率越高连线越粗

数据查询逻辑

图谱数据通过 tag_relations 表查询标签-标签关联,通过 resource_tag_relations 表统计每个标签的资源数量。

交互操作

  • 缩放:鼠标滚轮缩放图谱
  • 拖拽:拖拽空白区域平移视图
  • 点击节点:点击标签节点可查看该标签关联的所有资源
  • 中心标签:在标签详情页面进入图谱时,当前标签作为中心节点突出显示(64px 大小)

批量标签编辑

资源中心的批量标签编辑支持:

  1. 添加标签:为选中的多个资源同时添加指定标签
  2. 移除标签:为选中的多个资源同时移除指定标签
  3. 校验机制:操作前校验资源归属权、标签有效性、已存在的关联关系
  4. 事务写入:批量操作使用数据库事务,异常时自动回滚

← 返回帮助中心