我有一个要求,我想以编程方式获取搜索结果。为此,我使用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);
如果我在sharepoint搜索结果页面中获得100个结果,使用相同的查询文本我得到96-97结果。 有人可以帮助我吗
答案 0 :(得分:0)
你试过“objkeywordquery.EnableStemming = true;” ?
看起来默认的SharePoint搜索已启用它;我们有类似的问题,这解决了它。
希望它有所帮助。
文森特