2014-08-30 44 views
2

假設我想搜索最近2年內報告的錯誤。初始結果頁面顯示「此結果僅限於500個錯誤Bugzilla搜索結果太長

顯然有超過500個錯誤,所以我點擊See all search results for this query。這一次,它顯示10000個錯誤,但有一條消息說「這個列表對於Bugzilla的小心靈來說太長了; Next/Prev/First/Last按鈕不會出現在單個錯誤上

所以我的問題是:

  1. 我怎麼知道我的查詢返回的錯誤的確切人數(它不可能是完全10000)
  2. 如何查看整個搜索結果?目前,如果搜索結果超過10000,結果會被截斷。我沒有找到任何prev/next page按鈕來瀏覽搜索結果頁面。

回答

4

由於您的管理員在您的bugzilla實例上設置的配置,您可能看不到所有錯誤。

然而,使用search功能在Bugzilla Web服務可以檢索缺陷的列表。如果查詢返回的錯誤數量有上限,則使用更高的offsetlimit迭代搜索查詢。這裏是一些僞代碼

offset = 0 
limit = 5000 
currentcount = ws.search(criterias, offset, limit).count 
while currentcount == limit 
{ 
    offset += limit 
    currentcount = ws.search(criterias, offset, limit).count 
} 
totalbugs = currentcount + offset 

如果你也想得到整個錯誤列表而不是計數,那麼同樣的算法就可以工作。

如果向web服務發送多個查詢感覺不對,您可能需要與管理員交談,以瞭解在安裝bugzilla時設置了哪些硬性限制,並瞭解如何調整它們以獲得結果你需要

+0

[這裏](http://codehelpline.blogspot.com/2010/08/how-to-access-bugzilla-webservice-api.html)是如何通過XML-RPC使用Bugzilla Webservice的幫助java代碼。 – 2016-05-23 19:07:07