首页 文章

避免使用OR Filter Rest Call上的列表视图阈值

提问于
浏览
0

早上好 .

像往常一样,我的问题是SharePoint Online Threshold .

我有一个包含大量项目(> 5.000)的自定义列表,我需要使用REST API调用在此列表上执行查询 .

此列表架构为:Title,Field1和Field2 .

Field1和Field2是短文本INDEXED列 .

好吧......我需要通过Field1或Field2过滤来查询这个列表

https://asdasd.sharepoint.com/sites/xxxx/_api/web/lists/GetByTitle('Big01')/ items?$ filter =(Field1 eq 'Value1 53')或(Field2 eq 'Value2 25')

尽管Field1和Field2都是索引字段,并且此查询的结果肯定少于5.000项(2项),我得到阈值错误 .

{“odata.error”:{“code”:“ - 2147024860,Microsoft.SharePoint.SPQueryThrottledException”,“message”:{“lang”:“en-US”,“value”:“禁止尝试操作,因为它超出了管理员强制执行的列表视图阈值 . “}}}

如果我在单个字段上执行查询,如下所示,一切正常,但如果我尝试组合这两个条件(OR),我得到SPQueryThrottledException .

https:// asdasd.sharepoint.com/sites/xxxx / _api / web / lists / GetByTitle('Big01')/ items?$ filter =(Field1 eq'Value1 53')

https:// asdasd.sharepoint.com/sites/xxxx/_api/web/lists/GetByTitle('Big01')/items?$filter=(Field2eq'Value2 25')

有任何想法吗?

谢谢,

塞尔吉奥

1 回答

  • 0

    Rest API中的OR过滤条件将循环并过滤项目2次,因此要过滤的总计数将超过列表视图阈值 . 一种解决方案是使用2个分离的ajax调用调用单个过滤器并组合数据 .

相关问题