2014-07-07 56 views
1

我正在使用Gerrit REST API来查询状态为“合并”的所有更改。我的查询是Gerrit REST API:无法使用_sortkey恢复查询

https://android-review.googlesource.com/changes/?q=status:merged&n=2 

其中“n = 2”限制的查询结果的大小2。所以我有一个JSON对象,如:

enter image description here

当然也有更多的结果。根据REST文档:

如果n个查询参数的供给和存在其他的变化相匹配的查询以后结束,最后更改对象有_more_changes:真正的JSON字段集。调用者可以使用N查询参数恢复查询,并提供最后一次更改的_sortkey字段作为值。

所以我添加查询参数N与上次变化_sortkey 100309.新的查询是:

https://android-review.googlesource.com/changes/?q=status:merged&n=2&N=002e4203000187d5 

有了这个新的查询,我希望,我会得到另一个新2查询结果,因为我提供了_sortkey作为我之前搜索结果的游标。

但是,这真的很奇怪,这个新的查询返回的结果与之前的查询完全相同,而不是我预期的下一个2结果。似乎提供“N = 002e4203000187d5”完全没有效果。

有谁知道为什么使用_sortkey恢复我的查询不起作用?

+0

您正在使用哪个版本的Gerrit?我刚刚检查了一个我使用的脚本,它遵循精确的语法,但工作正常。我打了一台运行2.8.3的服务器。 – Brad

+0

@Brad我查询Android Gerrit(https://android-review.googlesource.com/),但不确定它使用哪个版本的Gerrit。 – Ida

回答

1

我跟谷歌的一位开发人员聊天,他证实_sortkey已经从他们在android-review和gerrit-review上运行的Gerrit的新版本中删除。 N =参数不再有效。该文件将被更新以反映这一点。

另一种方法是使用& S = x跳过x结果,我测试并且工作良好。

+0

此时文档尚未更新,因此我非常困惑。非常感谢你提供的信息。 – Ida

0

SORTKEY被弃用格里特V2.9 -
看到(Gerrit) ReleaseNotes-2.9.txt,下REST API - 改变

[[SORTKEY贬低]

  • [query changes]端点返回的结果现在使用偏移量而不是分类键进行分页。
    • 不推荐使用端点上的参数sortkeysortkey_prev
      现在使用--limit-n)选项对结果进行分页以限制结果数量,并使用-S选项设置开始点。
    • 使用sortkeys的查询仍旧支持旧索引版本,以便在客户端拥有较旧的JS版本时启用在线重新索引。

参见这里 -
PSA: Removing the "sortkey" field from the gerrit-on-borg query interface

...
我们的解决方案是杀SORTKEY领域及其相关的搜索运算符(sortkey_before,sortkey_after和resume_sortkey )。
...