CSOM 搜索限制到单个站点

问题描述

我将如何更新以下 CSOM 搜索代码以将搜索范围限制为 SharePoint 租户中的单个网站:

KeywordQuery keywordQuery = new KeywordQuery(spClientContext);
keywordQuery.QueryText = term;
keywordQuery.StartRow = page;
keywordQuery.RowLimit = pageSize;
keywordQuery.Enablestemming = true;
keywordQuery.TrimDuplicates = false;
SearchExecutor searchExecutor = new SearchExecutor(spClientContext);
ClientResult<ResultTableCollection> resultTableCollection = searchExecutor.ExecuteQuery(keywordQuery);
spClientContext.ExecuteQuery();

目前它会带回所有站点的结果。使用 CSOM MS SP 客户端 v4.0.30319。感谢您的帮助!

解决方法

您可以在 QueryText 中添加路径托管属性以在特定站点中进行搜索。例如:

keywordQuery.QueryText = "test path:https://tenant.sharepoint.com/sites/test";