如何通过URL过滤SharePoint Online搜索API结果?
SharePoint搜索API支持通过路径(Path)托管属性过滤结果,有两种常用实现方式:
方法1:在querytext中整合路径过滤条件
直接在原搜索关键词后添加path的多值匹配规则,用AND连接原查询和过滤条件,多个目标URL用OR组合。
核心语法
querytext='原始关键词' AND path:("URL1" OR "URL2" OR "URL3")
完整请求示例(已编码)
http://www.test.com/_api/search/query?querytext=%27Hello%27+AND+path:%28%22https%3A%2F%2Fwww.test.com%2FSiteTest%22+OR+%22https%3A%2F%2Fwww.test.com%2FDivisions%2FAcademy%22+OR+%22https%3A%2F%2Fwww.test.com%2FDivisions%2FNational%22%29&trimduplicates=false&sortlist=%27Write:descending%27&rowlimit=5000
方法2:使用refinementfilters参数单独指定过滤规则
通过refinementfilters参数单独设置路径过滤逻辑,与原querytext分离,语义更清晰。
核心语法
refinementfilters='path:or(equals("URL1"),equals("URL2"),equals("URL3"))'
完整请求示例(已编码)
http://www.test.com/_api/search/query?querytext=%27Hello%27&trimduplicates=false&sortlist=%27Write:descending%27&rowlimit=5000&refinementfilters=%27path:or%28equals%28%27https%3A%2F%2Fwww.test.com%2FSiteTest%27%29%2Cequals%28%27https%3A%2F%2Fwww.test.com%2FDivisions%2FAcademy%27%29%2Cequals%28%27https%3A%2F%2Fwww.test.com%2FDivisions%2FNational%27%29%29%27
注意事项
path是SharePoint默认启用的可过滤托管属性,无需额外配置- 若需匹配站点下的所有子内容(如文档、页面),可在路径末尾添加通配符
*,例如:https://www.test.com/SiteTest/* - 所有URL中的特殊字符(如
:、/、")必须正确编码,避免请求失败
内容的提问来源于stack exchange,提问作者Jedi
相关产品推荐
相关产品推荐

