GAE搜索API。获取匹配文档的总量

时间:2012-07-28 19:38:49

标签: google-app-engine full-text-search gae-search

您好,
我正在使用GAE Search API,它似乎是一个非常棒的功能,顺便提一下,它添加了标准数据存储查询中缺少的重要功能。
但我遇到了实现标准分页的问题,即获取查询文档的匹配总量。当然,我可以使用Cursor实现一个带有“显示更多”按钮的列表,但是能够获得总量也很棒。
关于如何做到这一点的任何想法?
非常感谢你提前!

1 个答案:

答案 0 :(得分:0)

第1步:

设定准确度

QueryOptions options = QueryOptions.newBuilder()
        ...set other options
        .setNumberFoundAccuracy(1000);
        .build();
  

设置Results.getNumberFound()的准确度要求。如果设置,   getNumberFound()将至少准确到达那个数字。对于   例如,当设置为100时,任何getNumberFound()< = 100都是准确的。   此选项可能会增加相当大的延迟/费用,尤其是在以   与setFieldsToReturn(String ...)一起使用。

第2步运行查询

 Query query = Query.newBuilder().setOptions(options).build(queryString);
 Results<ScoredDocument> results = getIndex().search(query);

步骤3调用getNumberFound()

 results.getNumberFound();
  

搜索找到的结果数。如果该值小于   或等于相应的QueryOptions.getNumberFoundAccuracy(),   那么它是准确的,否则它是一个近似值返回:   找到的结果数量