H8.10.2tag AND versus OR设计研究

同一内容打多个标签时检索逻辑需要明确是交集还是并集

别名: 标签筛选 AND · 多标签并集 · conjunctive tags

概念解释

一条内容可以挂多个标签。筛选时勾了两个词,结果集可能是交集(同时带这两个)或并集(带其中任一)。人无法从「标签」两个字读出是哪一种。界面必须把当前逻辑写出来,并且结果数量的变化要符合那种逻辑。它不管词是人造的还是预设的,只管多词组合怎么算。收藏夹里的分组、搜索框里的关键词,都会让人拿来类比,所以更要说清。

机制

日常语言里「我要预算和合同」既可能是两个条件都满足,也可能是两堆东西都看看。勾选控件看起来像加条件,人默认越勾越少(交集);标签云看起来像选主题,人默认越点越多(并集)。若实际逻辑与控件暗示相反,结果集要么空得吓人,要么大得像没筛。数量随每次勾选变化,是人用来检验假设的唯一反馈:勾第二个词后从 40 变成 8,才像交集;变成 70,才像并集。逻辑不能中途对一部分标签用交、对另一部分用并,除非把分组画出来。排除(不含某词)是第三种运算,混在勾选里会把交并更搅乱。

怎么研究

一组内容带已知标签组合。请人「找出同时是客户甲又是合同的」和「找出客户甲或合同」。比较未标明逻辑、标明 AND、标明 OR,以及数量是否随勾选更新。

自变量:默认运算、是否用文字写出「同时满足 / 任一」、结果计数是否可见。 因变量:交并任务的对错、发现逻辑反了之后能否自己纠正、空结果时是否改运算。

实验室若在说明里写「请使用 AND」,测到的是术语,不是界面。应用产品自己的筛选条。不要把搜索框的关键词匹配算进标签逻辑。

边界

只允许一条内容一个标签时,没有交并问题。分面筛选(类型、日期、标签各一栏)通常是栏内并、栏间交,必须按栏写,不能只在标签栏写一句。自然语言搜索「标签是甲和乙」会与筛选条的默认冲突,两处逻辑应一致,或在结果上标明这次用的是哪一种。

怎么落地

  • 在多标签筛选旁写死当前运算:「同时包含所选标签」或「包含任一所选标签」,并提供切换。
  • 每次增减一个词,结果计数立刻变;空结果时提示可以改成任一。
  • 排除作为明确的「不含」,不要和勾选共用一个无状态的芯片。
  • 验证:准备同时带甲乙、只带甲、只带乙的三类内容。请人找出同时带甲乙的。若界面未写运算且人拿到了只带甲的项,逻辑就没有明示。切换运算后计数变化方向必须与文案一致。

延伸

  • 同组H8.10.1 标签体系需要允许用户自定义而非仅使用系统预设 · H8.10.3 标签数量失控会削弱其检索价值,需要引导收敛 · H8.10.4 系统标签与用户标签需要在界面上可区分来源
  • 相邻H8.13 内容的搜索与定位 · G3.08 筛选器 · G1.06 分面分类
  • 站内检索tag intersection · AND versus OR · faceted filter

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/H8.10.2