我有一个要求,我想以编程方式获取搜索结果。为此,我使用 KeyWordQuery 以编程方式进行搜索。但是在这里我得到的结果比默认的 SharePoint 搜索要少,它从结果中省略了一些记录。
这是我正在使用的代码
SPSite site = SPContext.Current.Site;
KeywordQuery objkeywordquery = new KeywordQuery(site);
objkeywordquery.QueryText = strQuery;
objkeywordquery.SelectProperties.Add("Title");
objkeywordquery.SelectProperties.Add("Path");
objkeywordquery.ResultsProvider = SearchProvider.Default;
objkeywordquery.ResultTypes = ResultType.RelevantResults;
objkeywordquery.RowLimit = 5000
ResultTableCollection queryResults = objkeywordquery.Execute();
ResultTable queryResultsTable = queryResults[ResultType.RelevantResults];
DataTable queryDataTable = new DataTable();
queryDataTable.Load(queryResultsTable, LoadOption.OverwriteChanges);
如果我在共享点搜索结果页面中得到 100 个结果,使用相同的查询文本,我得到 96-97 个结果。有人可以帮我弄这个吗