跳转到内容
搜索文档

路径筛选

最后更新 查看 MarkdownAgent 设置

路径筛选允许你通过定义包含与排除模式,控制对哪些文件或 URL 建立索引。可用它将索引范围限制为特定内容,或跳过你不希望可搜索的文件。

路径筛选同时适用于网站R2 数据源。

配置

你可以在创建或编辑 AI Search 实例时配置路径筛选器。在仪表板中打开 Path Filters(路径筛选器),并添加包含或排除规则。你也可以随时从实例的 Settings(设置) 页面更新路径筛选器。

使用 REST API 时,在配置的 source_params 中指定 include_itemsexclude_items

参数 类型 限制 描述
include_items string[] 最多 10 个模式 仅索引至少匹配其中一个模式的项
exclude_items string[] 最多 10 个模式 跳过匹配任一模式的项

两个参数均为可选。若均未指定,则索引数据源中的所有项。

筛选行为

通配符规则

排除规则优先于包含规则。筛选按以下顺序应用:

  1. 排除检查:如果项匹配任一排除模式,则跳过。
  2. 包含检查:如果定义了包含模式且项不匹配其中任何一个,则跳过。
  3. 索引:该项继续进入索引流程。
场景 行为
未定义规则 索引所有项
仅定义 exclude_items 索引除匹配排除模式之外的所有项
仅定义 include_items 仅索引至少匹配一个包含模式的项
两者都定义 先检查排除模式,然后剩余项必须匹配某个包含模式

模式语法

模式使用基于 micromatch 的区分大小写通配符语法:

通配符 含义
* 匹配除路径分隔符(/)外的任意字符
** 匹配包括路径分隔符(/)在内的任意字符

模式可以包含:

  • 字母、数字与下划线(a-zA-Z0-9_
  • 连字符(-)与点(.
  • 路径分隔符(/
  • URL 字符(?:=&%
  • 通配符(***

索引作业状态

被筛选规则跳过的项会记录在作业日志中,并附带原因:

  • 匹配排除:Skipped by rule: {pattern}
  • 未匹配包含:Skipped by Include Rules

你可以在 AI Search 实例的 Jobs 选项卡中查看这些记录,以验证筛选器是否按预期工作。

重要说明

  • 大小写敏感性: 模式匹配区分大小写。/Blog/* 不会匹配 /blog/post.html
  • 完整路径匹配: 模式匹配整个路径或 URL。部分匹配请在开头使用 **。例如,docs/* 匹配 docs/file.pdf 但不匹配 site/docs/file.pdf,而 **/docs/* 两者都匹配。
  • 单个 * 不会跨目录: 使用 ** 跨路径分隔符匹配。例如,docs/* 匹配 docs/file.pdf 但不匹配 docs/sub/file.pdf,而 docs/** 两者都匹配。
  • 尾部斜杠有意义: URL 按原样匹配,不做规范化。/blog/ 不会匹配 /blog

示例

R2 数据源

用例 模式 已索引 已跳过
仅索引 docs 中的 PDF 包含:/docs/**/*.pdf /docs/guide.pdf/docs/api/ref.pdf /docs/guide.md/images/logo.png
排除临时与备份文件 排除:**/*.tmp**/*.bak /docs/guide.md /data/cache.tmp/old.bak
排除临时与备份文件夹 排除:/temp/**/backup/** /docs/guide.md /temp/file.txt/backup/data.json
索引 docs 但排除草稿 包含:/docs/**,排除:/docs/drafts/** /docs/guide.md /docs/drafts/wip.md
将实例限定到单个租户 包含:/customers/acme/** /customers/acme/report.pdf /customers/globex/report.pdf

要为每个租户提供由单个共享存储桶支持的隔离实例,请参阅多租户

网站数据源

用例 模式 已索引 已跳过
仅索引博客页面 包含:**/blog/** example.com/blog/postexample.com/en/blog/article example.com/about
排除管理页面 排除:**/admin/** example.com/blog/post example.com/admin/settings
排除登录页面 排除:**/login* example.com/blog/post example.com/loginexample.com/auth/login-form
索引 docs 但排除草稿 包含:**/docs/**,排除:**/docs/drafts/** example.com/docs/guide example.com/docs/drafts/wip

API 格式

使用 API 时,在 source_params 中指定模式:

{
	"source_params": {
		"include_items": ["<PATTERN_1>", "<PATTERN_2>"],
		"exclude_items": ["<PATTERN_1>", "<PATTERN_2>"]
	}
}

这篇文档对您有帮助吗?