2

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

4

1 回答 1

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(),那么它是准确的,否则它是一个近似值返回:找到的结果的数量

于 2012-07-28T22:26:27.167 回答