mirror of
https://github.com/kuaifan/dootask.git
synced 2026-08-01 02:45:58 +00:00
60 lines
3.0 KiB
Markdown
60 lines
3.0 KiB
Markdown
---
|
||
id: search.intelligent.concept
|
||
title: 智能搜索(AI 语义搜索)
|
||
type: concept
|
||
feature: search
|
||
scope: end-user
|
||
locale: zh
|
||
aliases:
|
||
- 智能搜索
|
||
- AI 搜索
|
||
- 语义搜索
|
||
- 自然语言搜索
|
||
- intelligent_search
|
||
- 向量搜索
|
||
related_tools: [intelligent_search]
|
||
related_pages: []
|
||
prerequisites:
|
||
- 应用商店(应用市场)已安装 search 插件(Manticore Search)
|
||
- 应用商店已安装 ai 插件(语义 / 向量搜索需用其生成 Embedding)
|
||
negative:
|
||
- 未安装 search 插件(Manticore)时回退普通 MySQL 关键词搜索,无语义能力
|
||
- 仅装 search 没装 ai 时,向量 / 语义 / 混合搜索无法生效,只能跑全文 text
|
||
- 索引建立有延迟,刚上传 / 新建的内容可能短时间内搜不到
|
||
- 智能搜索按权限过滤,搜不到的对象通常是无权访问
|
||
last_verified: v1.7.90
|
||
---
|
||
|
||
# 智能搜索(AI 语义搜索)
|
||
|
||
## 定义
|
||
智能搜索是 DooTask 基于 **Manticore Search 插件**(search 插件)的统一检索能力,支持关键词(text)/ 语义向量(vector)/ 混合(hybrid)三种搜索类型,一次可跨任务 / 项目 / 文件内容 / 联系人 / 消息 5 类对象;AI 助手通过 MCP 工具 `intelligent_search` 调用同一套底座。
|
||
|
||
## 底层原理
|
||
- 走 SearchController 统一接口,优先使用 Manticore Search(需安装 search 插件)
|
||
- **未安装 search 插件时回退到普通 MySQL 关键词搜索**,仍可按字面匹配搜索,但没有语义 / 向量能力
|
||
- 默认 `search_type = hybrid`(混合搜索):同时打全文倒排分和 KNN 向量分
|
||
- 向量分由 ai 插件提供 Embedding(1536 维,兼容 OpenAI text-embedding-3-small)
|
||
- 中文用 ICU 分词,能处理常见同义词与近义表达
|
||
|
||
## 与关键词搜索的区别
|
||
- **关键词搜索**:只命中字面匹配,「Q3 收入报表」搜「财务分析」会落空
|
||
- **智能搜索**:理解意图,「财务分析」能命中「Q3 收入报表」「年度成本表」等语义相关文件
|
||
- 智能搜索仍保留关键词命中能力,相关度由混合算法加权
|
||
|
||
## 关键属性
|
||
- **入口**:装齐 search + ai 后,全局搜索框会出现「AI 搜索」按钮,把搜索词转给 AI 助手;AI 助手自动调用 `intelligent_search` 工具
|
||
- **结果排序**:按 `relevance` 综合分降序
|
||
- **权限范围**:与基础 search 接口完全一致,只返回当前用户能看到的对象
|
||
- **延迟**:依赖 Manticore 索引;新增内容入库到可搜的间隔通常为秒级
|
||
|
||
## 与全局搜索的关系
|
||
- 全局搜索 = 用户在搜索框内主动输入关键词的检索能力,详见 [[search.concept]]
|
||
- 智能搜索 = AI 助手在对话中代用户调用的同一套底座,搜索类型默认 `hybrid`
|
||
|
||
## 不支持
|
||
- 没装 search 插件(Manticore)时回退 MySQL 关键词搜索,关键词 / 语义 / 混合类型参数失效
|
||
- 装了 search 但没装 ai 插件时降级到全文,语义能力失效
|
||
- 不能跨用户搜别人的私聊 / 私有文件
|
||
- 单次每类对象不会返回超过 50 条(最多 50 条)
|