1

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

1 回答 1

0

该问题是由分页 Web 部件引起的。如果您修改它以显示所有页面,则统计总结果数将始终相同。比如从分页web部件属性中,把当前页前后的页数改为1000,你就会发现你的问题就不存在了!!如果你有很多页面,这有点难看!!!

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

于 2013-08-07T07:52:43.027 回答