SharePoint关键词搜索触发SubstrateSearchException: Remote executors failed错误
问题可能成因
权限配置差异
- 应用注册的权限范围不匹配:该租户下的应用仅被授予了站点级读取权限,未授予
Sites.Read.All或搜索相关的租户级权限,调用KeywordQuery跨站点集检索时触发后端搜索服务的权限拦截,无法调用远程执行器,且SPO当前配置未开启本地搜索回退机制。 - 网站集的搜索权限隔离配置:该租户开启了网站集级别的搜索沙箱隔离,第三方应用调用搜索接口时无法调用租户级的远程搜索执行节点,同时管理员关闭了本地网站集搜索回退能力,触发报错。
租户级搜索服务配置差异
- 搜索服务路由规则异常:该租户的搜索服务实例被调度到了故障节点,应用调用时远程执行器调用失败,且租户管理员在搜索配置中关闭了
AllowLocalSearchFallback开关,无法回退到本地站点的搜索缓存执行查询。 - 自定义搜索规则拦截:该租户配置了第三方应用搜索调用的限流或拦截规则,应用的调用请求被搜索前置服务拦截,返回远程执行失败错误,且未允许回退。
应用调用参数差异
- 查询范围参数配置错误:代码中指定的
SourceId或RowLimit等参数不符合该租户的搜索架构配置,比如指定了不存在的搜索结果源ID,远程执行器无法匹配结果源触发报错,且本地回退不允许。 - 认证上下文不匹配:代码使用的Cookie或Access Token的受众(aud)声明与该租户的搜索服务端点不匹配,远程执行器拒绝处理请求,同时不允许回退到本地匿名搜索上下文。
注:搜索框可正常返回是因为用户身份的搜索请求会走正常的用户权限路由,且默认开启本地回退能力,和第三方应用的调用链路权限、路由规则完全独立。
内容的提问来源于stack exchange,提问作者Albert Jan
相关产品推荐
相关产品推荐

