SharePoint搜索C#与关键字查询过滤器基于搜索关键词和内容类型

问题描述 投票:0回答:1

我想基于2内容类型做基于关键字,如“财经”一个SharePoint搜索,然后筛选结果。

我能够基于搜索的关键字“财经”的网站,但我无法找出其中添加过滤器查询。

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)

任何建议表示赞赏。

谢谢

office365 sharepoint-online sharepoint-search s
1个回答
0
投票

我不认为CSOM让你在代码中提供过滤准则的,但你可以创建一个SharePoint search scope(结果源),将前手做你的过滤。然后,在你CSOM参考该搜索范围。

this SE thread获取更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.