【问题标题】:SharePoint Search REST API returns inconsistent Total Rows CountSharePoint 搜索 REST API 返回不一致的总行数
【发布时间】:2020-01-27 23:35:36
【问题描述】:

我们正在构建具有分页功能的自定义 Web 部件。为了实现此功能,我们获取总行数并显示可能的页数。

在实现这一点时,我们正在使用 startRow 和 rowLimit 查询字符串参数运行查询。当我更改 startRow 查询字符串参数时,TotalRows 属性为相同的 queryText 返回不同的数字。

Example:
https://tenant.sharepoint.com/_api/search/query?querytext='test'&startrow=0&rowLimit=10 returns TotalRows 125
https://tenant.sharepoint.com/_api/search/query?querytext='test'&startrow=10&rowLimit=10 returns TotalRows 112

但是 TotalRowsInclusingDuplicates 属性返回一个一致的值。但是,如果我尝试使用 TotalRows 计数之上的起始行,它会返回 0 个结果。

我想知道为什么 StartRow 会改变行数。

有人遇到同样的问题或有什么建议吗?

【问题讨论】:

    标签: sharepoint-online sharepoint-search sharepoint-rest-api


    【解决方案1】:

    在浏览器搜索中也会发生同样的情况。在结果第一页的底部,您可能会看到 746、下一页 698 和下一个 752。它们都是估计值。当您接近结果的最后一页时,它们通常会更接近正确的值。

    即SharePoint 甚至不会尝试猜测搜索页面的数量。

    这是我的 SharePoint 搜索课程...

    【讨论】:

      【解决方案2】:

      对于那些搜索如何解决问题的人 -

      仅当 重复修剪 设为开启 时才会出现问题。 要解决此问题,请尝试关闭重复修剪

      如果您使用 Rest 检索搜索结果 - 附加 &trimduplicates=false 在其他情况下,this article 可能会有所帮助。

      【讨论】:

      • 如果我们不想重复怎么办?看起来它为每个总行请求重新计算。有什么解决方法吗?
      猜你喜欢
      • 2013-06-06
      • 2022-06-22
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-03
      相关资源
      最近更新 更多