如何在FTS/Lucene查询中获取当前登录用户名查询本人锁定文件
实现方式
Alfresco FTS 原生支持当前登录用户动态占位符,无需自定义开发即可实现你的需求。
可直接使用的查询语句如下:
ASPECT:'cm:lockable' AND NOT ASPECT:'cm:workingCopy' AND cm:lockOwner:{lucene:CURRENT_USER}
注意事项
{lucene:CURRENT_USER}是搜索引擎内置的动态替换标识,查询执行时会自动替换为当前登录用户的用户名,完全适配保存搜索创建的Dashlet场景,不需要额外传递参数。- 禁止给该占位符添加单引号:如果用单引号包裹,引擎会把它识别为普通字符串,不会触发动态替换,直接导致查询结果不符合预期。
- 原语句中的
!建议替换为标准的NOT运算符,避免不同Lucene解析版本的语法兼容问题,过滤逻辑和原写法完全一致,最终返回的就是当前用户持锁、且不是工作副本的可锁定文件,和你的需求完全匹配。 - 该写法在Alfresco 4.2及以上所有版本默认生效,将查询存为保存搜索后绑定到对应Dashlet即可正常使用,无需额外修改配置。
内容的提问来源于stack exchange,提问作者yethro2021
相关产品推荐
相关产品推荐

