> 如果你看到不熟悉的占位符或需要检查哪些工具已连接,请参阅 CONNECTORS.md。
企业搜索背后的核心智能。将单个自然语言问题转化为并行的、针对特定来源的搜索,并生成排名和去重后的结果。
将这样:
"关于 API 迁移时间表,我们决定了什么?"
转化为每个已连接来源的定向搜索:
~~chat: "API 迁移时间表决策"(语义搜索)+ "API 迁移" in:#engineering after:2025-01-01
~~knowledge base: 语义搜索 "API 迁移时间表决策"
~~project tracker: 文本搜索 "API 迁移" 在相关工作区中
然后将结果综合为单个连贯答案。
对用户的问题进行分类,以确定搜索策略:
| 查询类型 | 示例 | 策略 |
|---|---|---|
| 决策 | "关于 X 我们决定了什么?" | 优先搜索对话(~~chat、email),寻找结论信号 |
| 状态 | "项目 Y 的状态如何?" | 优先搜索近期活动、任务跟踪器、状态更新 |
| 文档 | "Z 的规格说明在哪里?" | 优先搜索云存储、维基、共享文档 |
| 人员 | "谁在负责 X?" | 搜索任务分配、消息作者、文档协作者 |
| 事实 | "我们在 X 方面的政策是什么?" | 优先搜索维基、官方文档,然后确认性对话 |
| 时间 | "X 是什么时候发生的?" | 使用宽泛日期范围搜索,查找时间戳 |
| 探索 | "关于 X 我们知道什么?" | 在所有来源中广泛搜索,综合结果 |
从查询中提取:
对于每个可用来源,创建一个或多个定向查询:
优先使用语义搜索 的情况:
优先使用关键词搜索 的情况:
生成多个查询变体 的情况,当主题可能有不同的表述方式:
用户:"Kubernetes 配置"
查询:"Kubernetes"、"k8s"、"cluster"、"容器编排"
语义搜索(自然语言问题):
query:"项目 aurora 的进展情况如何?"
关键词搜索:
query:"项目 aurora 状态更新"
query:"aurora in:#engineering after:2025-01-15"
query:"from:<@用户ID> aurora"
筛选条件映射: | 企业搜索筛选条件 | ~~chat 语法 |
|------------------|--------------| | from:sarah |
from:sarah 或 from:<@用户ID> | |
in:engineering | in:engineering | |
after:2025-01-01 | after:2025-01-01 | |
before:2025-02-01 | before:2025-02-01 | |
type:thread | is:thread | |
type:file | has:file |
语义搜索 —— 用于概念性查询:
descriptive_query:"API 迁移时间线和决策理由"
关键词搜索 —— 用于精确术语:
query:"API 迁移"
query:"\"API 迁移时间线\""(精确短语)
任务搜索:
text:"API 迁移"
workspace:[工作区 ID]
completed:false(用于状态查询)
assignee_any:"me"(用于"我的任务"查询)
筛选条件映射: | 企业搜索筛选条件 | ~~project
tracker 参数 | |------------------|----------------| |
from:sarah | assignee_any 或
created_by_any | | after:2025-01-01 |
modified_on_after:"2025-01-01" | |
type:milestone | resource_subtype:"milestone"
|
根据以下因素对每个结果评分(按查询类型加权):
| 因素 | 权重(决策) | 权重(状态) | 权重(文档) | 权重(事实) |
|---|---|---|---|---|
| 关键词匹配 | 0.3 | 0.2 | 0.4 | 0.3 |
| 时效性 | 0.3 | 0.4 | 0.2 | 0.1 |
| 权威性 | 0.2 | 0.1 | 0.3 | 0.4 |
| 完整性 | 0.2 | 0.3 | 0.1 | 0.2 |
取决于查询类型:
对于事实/政策问题:
维基/官方文档 > 共享文档 > 邮件公告 > 聊天消息
对于"发生了什么"/决策问题:
会议记录 > 线程结论 > 邮件确认 > 聊天消息
对于状态问题:
任务跟踪器 > 近期聊天 > 状态文档 > 邮件更新
当查询存在歧义时,优先提出一个集中的澄清问题,而非猜测:
模糊:"搜索迁移相关"
→ "我找到了几个迁移相关的引用。您是在寻找:
1. 数据库迁移(Project Phoenix)
2. 云迁移(AWS → GCP)
3. 邮件迁移(Exchange → O365)"
仅在以下情况下询问澄清:
在以下情况下不要询问澄清:
当来源不可用或无结果时:
如果初始查询返回结果太少:
原始:"PostgreSQL 迁移 Q2 时间线决策"
更宽泛:"PostgreSQL 迁移"
更宽泛:"数据库迁移"
最宽泛:"迁移"
按此顺序移除约束条件:
始终跨来源并行执行搜索,绝不串行执行。总搜索时间大致等于最慢的单个来源的时间,而非所有来源之和。
[用户查询]
↓ 分解
[~~chat 查询] [~~email 查询] [~~cloud storage 查询] [维基查询] [~~project tracker 查询]
↓ ↓ ↓ ↓ ↓
(并行执行)
↓
[合并 + 排名 + 去重]
↓
[综合答案]