我为SharePoint搜索创建自定义搜索。如果我使用页面大小10和页面索引(0或1或2)进行搜索,则实际结果为40时总结果计数将为55,否则如果页面大小10和页面索引4总结果计数将为50,否则如果页面大小10和页面索引3总结果计数将为40,否则如果页面大小100和页面索引0总结果计数将为40。
我的代码:
private static DataTable ExecuteSearchQuery(SPWeb web, int pageNumber, int pageSize, ref long totalRecords)
{
FullTextSqlQuery query = new FullTextSqlQuery(web.Site);
query.StartRow = pageSize * (pageNumber - 1);
query.RowLimit = pageSize;
query.TrimDuplicates = true;
query.ResultTypes = ResultType.RelevantResults;
query.QueryText = @"SELECT ID, Title, Modified ,URL FROM Scope() WHERE (CONTAINS(Url, '/lists/Comments') AND FREETEXT(Title,'*any*'))";
ResultTableCollection results = query.Execute();
DataTable searchResults = results[ResultType.RelevantResults].Table;
totalRecords = query.QueryInfo.TotalResults;
return searchResults;
}发布于 2013-08-07 15:52:43
此问题是由分页web部件引起的。如果您将其修改为显示所有页面,则统计总结果数将始终相同。例如,从分页web部件属性中,将当前页面之前和之后的页数更改为1000,然后您将看到问题将不再存在!!如果你有很多页面,这就有点难看了!
看看这个:http://kamilmka.wordpress.com/2012/04/14/customize-sharepoint-search-results-paging/
https://stackoverflow.com/questions/17785538
复制相似问题