如何搜索Confluence中引用特定用户的所有页面
Confluence检索@提及特定用户页面的方法
以下是不同权限、不同场景下可用的检索方案:
普通用户可用:CQL精准检索
Confluence原生的CQL(Confluence查询语言)支持直接搜索用户提及,无需解析页面源码,直接在全局搜索框输入以下语句即可:mention = "用户唯一标识"
其中用户唯一标识对应你给出的前端渲染代码里的data-username属性值,比如示例中的USERLNFN。如果需要缩小检索范围,可叠加额外筛选条件,比如仅检索指定空间下的页面:mention = "USERLNFN" AND space = "目标空间KEY"管理员可用:数据库全局检索(仅适配Server/Data Center版本)
如果你是站点管理员,可直接查询Confluence数据库获取全量结果,页面存储格式中@提及对应的ri:userkey和用户表的user_key字段完全匹配,执行以下SQL即可拿到所有有效页面(排除历史版本):SELECT DISTINCT c.contentid, c.title, s.spacename FROM content c JOIN spaces s ON c.spaceid = s.spaceid JOIN bodycontent bc ON c.contentid = bc.contentid WHERE bc.body LIKE '%<ri:user ri:userkey="目标用户的userkey"/>%' AND c.contenttype = 'PAGE' AND c.prevver IS NULL;将语句中的
目标用户的userkey替换为你要检索的用户对应userkey(比如你示例中的7adcb12b54a7421801558f952560024b)即可。临时方案:模糊搜索
如果无法使用前两种方案,可直接在全局搜索框输入@+用户显示名(比如示例中的@Lastname Firstname, Department)检索,不过该方案准确率较低,会匹配到普通文本中手动输入的@内容,无法保证结果都是系统生成的用户提及。
内容的提问来源于stack exchange,提问作者Gabriel Petrovay
相关产品推荐
相关产品推荐

