2014-07-07 111 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 )。
...