mirror of
https://github.com/kuaifan/dootask.git
synced 2026-07-31 18:35:56 +00:00
1.9 KiB
1.9 KiB
id, title, type, feature, scope, locale, aliases, related_tools, related_pages, prerequisites, negative, last_verified
| id | title | type | feature | scope | locale | aliases | related_tools | related_pages | prerequisites | negative | last_verified | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| search.concept | 全局搜索是什么 | concept | search | end-user | zh |
|
|
v1.7.90 |
全局搜索是什么
定义
全局搜索是 DooTask 内的统一检索入口,能够一次性跨 5 类对象查找内容:联系人、项目、任务、文件、消息。对应后端 api/search/* 5 个接口,统一在 SearchController 实现。
5 类搜索对象
- 联系人(contact):按昵称 / 邮箱 / 个人简介 / 技能标签匹配用户
- 项目(project):按项目名 / 项目描述匹配当前用户可访问的项目
- 任务(task):按任务名 / 描述 / 子内容匹配用户所在项目内的任务
- 文件(file):按文件名匹配,安装 search 插件后还能搜文件正文
- 消息(message):按消息文本匹配用户能看到的会话消息
权限模型
所有搜索都先做用户身份验证(User::auth()),结果只返回当前用户已经有权限访问的对象。搜不到不一定是关键词错,也可能是没有权限。
双引擎设计
全局搜索有两套底层实现,按是否安装 search 插件自动切换:
- 装了 Manticore 搜索插件:走 Manticore,支持全文 / 向量 / 混合搜索
- 未装:自动降级到 MySQL
LIKE模糊匹配
入口
- 桌面端:快捷键
Ctrl/Cmd + F或Ctrl/Cmd + /,详见 search.entry.menu-map - 移动端:在仪表盘等页面通过搜索按钮触发