当页面索引在sharepoint搜索中更改FullTextQuery时,TotalResults计数已更改

时间:2013-07-22 10:45:16

标签: sharepoint sharepoint-2010 paging sharepoint-search

我为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;
    }

1 个答案:

答案 0 :(得分:0)

问题是由分页Web部件引起的。如果您修改它以显示所有页面,则统计总结果编号将始终相同。例如,从分页Web部件属性,将当前页面之前和之后的页面数更改为1000,然后您将看到您的问题将不再存在!如果你有很多页面,这有点难看!!!

看看这个:http://kamilmka.wordpress.com/2012/04/14/customize-sharepoint-search-results-paging/