60 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 插件提供 Embedding1536 维,兼容 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 条)