SharePoint搜索配置:批量排除文档库中统一命名的子文件夹
我刚好处理过几乎一模一样的SharePoint搜索排除需求,给你整理两个靠谱的方案,都能精准覆盖你描述的场景——site.sharepoint.com/Storage/Shared Documents/Products/下每个Product子文件夹里的Archive和Original文件夹,连同里面的内容一起从搜索结果中移除:
方法一:通过SharePoint管理中心手动配置排除规则
这是最直观的方式,适合不熟悉脚本的用户:
- 登录SharePoint管理中心,导航到「搜索」>「搜索管理」>「排除规则」页面
- 点击「新建排除规则」按钮
- 在「路径」输入框中,填写通配符路径:
site.sharepoint.com/Storage/Shared Documents/Products/*/Archive/*- 选择「排除此路径下的所有内容」选项,勾选「递归排除」(确保文件夹里的所有子内容都被排除)
- 重复上述步骤,再创建一条针对Original文件夹的规则,路径为:
site.sharepoint.com/Storage/Shared Documents/Products/*/Original/* - 保存规则后,需要触发一次完全爬网(在「爬网源」中找到对应的文档库,启动完全爬网),等待爬网完成后规则就会生效
方法二:用PowerShell批量添加规则
如果需要批量操作或者自动化配置,PowerShell会更高效:
# 首先连接到SharePoint Online管理中心 Connect-SPOService -Url https://yourtenant-admin.sharepoint.com # 定义需要排除的两个路径模板 $excludePaths = @( "site.sharepoint.com/Storage/Shared Documents/Products/*/Archive/*", "site.sharepoint.com/Storage/Shared Documents/Products/*/Original/*" ) # 遍历路径,逐个添加排除规则 foreach ($path in $excludePaths) { New-SPOTenantSearchCrawlRule -Path $path ` -Type ExcludeRule ` -IsAdvancedRegularExpression $false ` -CrawlAsHttp $false ` -FollowComplexUrls $false ` -Priority 1 }
运行脚本后同样需要触发完全爬网,确保新的排除规则被应用到搜索索引中。
关键注意事项
- 路径中的
*通配符会匹配任意名称的Product子文件夹(比如Product1、Product2),完美覆盖你描述的层级结构 - 爬网完成后,可以测试搜索Archive文件夹内的文件,确认它们不会出现在搜索结果中
- 如果是经典SharePoint站点,路径格式可能略有差异,但通配符的使用逻辑完全一致
内容的提问来源于stack exchange,提问作者Tobias KKS
相关产品推荐
相关产品推荐

