2011-02-15 65 views
3

我正尝试在Google App Engine中构建搜索引擎,并希望显示从该搜索查询中获得的结果数。我使用fetch()一次显示少量结果,但不知道如何显示从搜索中获得的结果数量。 count()函数只有1000的限制,我的结果甚至可以超过10,00,000。所以,如果有人知道如何做,请给我建议.........在Google App Engine中计算结果GQL查询

回答

7

正如其他人告诉你的,count()不能有效地扩展。
要检索超过1000个实体,尽管该文件说什么,你必须指定一个上限:

your_model.all().count(100000000) 
0

计数功能没有限制。它的描述:

count(limit): 返回此查询获取结果的数量。 count()比通过常量因子检索所有数据要快一些,但运行时间仍随结果集的大小增长。最好只在计数预计较小或指定限制的情况下使用count()。 count()没有最大限制。如果您未指定限制,则数据存储将继续计数,直至完成计数或超时。来自:GQL

所以,你可以使用count()。

编辑:你可以从版本1.3.6(2010年8月17日发布)开始。

看一看changelog

而且这应该是有帮助的:How to fetch more than 1000?

如果您仍然获取没有更多的1000比试图遍历查询一次读取1000和设定偏移到下一个1000作为一个链接解释奋斗。

+0

我尝试过,但即使我不提供它计数仅1000在最大 – niteshb 2011-02-15 09:41:23

+0

能极限你写了一个你的代码的例子? – kamaci 2011-02-15 09:47:10

相关问题