2014-08-30 45 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