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

页面索引更改时,sharepoint搜索中的TotalResults计数已更改FullTextQuery,sharepoint,sharepoint-2010,paging,sharepoint-search,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 pageSiz

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

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


检查此项:

谢谢您的回答,但我的问题是总记录不是分页是的,它似乎显示一致的计数放在1000之前/之后。是的