我试图做一个基于关键字“金融”的SharePoint搜索,然后根据2种内容类型过滤结果。
我能够搜索基于关键字“金融”的网站,但我无法确定在哪里添加过滤器查询。
C#代码:
ClientContext clientContext = new ClientContext("SITE_URL");
clientContext.Credentials = credentials;
KeywordQuery keywordQuery = new KeywordQuery(clientContext)
{
QueryText = "Finance",
RowLimit = 50
};
SearchExecutor searchExecutor = new SearchExecutor(clientContext);
ClientResult<ResultTableCollection> results = searchExecutor.ExecuteQuery(keywordQuery);
clientContext.ExecuteQuery();
Console.WriteLine("Title");
Console.WriteLine("--------------------------------------------------");
foreach (var resultRow in results.Value[0].ResultRows)
{
Console.WriteLine(resultRow["Title"]);
}来自页面的SharePoint搜索筛选器:
{searchboxquery} Path:{Site.URL}* (ContentTypeID:0x012002* AND CustomArticleAttachment:null) OR ContentTypeID:0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900242457EFB8B24247815D688C526CD44D000B78192FF0604947A8C72A5A95B15DD5* (contentclass:STS_List OR contentclass:STS_List_DocumentLibrary)如有任何建议,敬请见谅。
谢谢
发布于 2019-02-05 19:45:36
我不认为CSOM允许您在代码中提供筛选指令,但是您可以创建一个SharePoint搜索范围 (结果源),它可以在您的筛选之前完成。然后,引用CSOM中的搜索范围。
有关更多信息,请参见这个SE线程。
https://stackoverflow.com/questions/53057733
复制相似问题