您好,
我正在使用GAE Search API,它似乎是一个非常棒的功能,顺便提一下,它添加了标准数据存储查询中缺少的重要功能。
但我遇到了实现标准分页的问题,即获取查询文档的匹配总量。当然,我可以使用Cursor实现一个带有“显示更多”按钮的列表,但是能够获得总量也很棒。
关于如何做到这一点的任何想法?
非常感谢你提前!
答案 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(), 那么它是准确的,否则它是一个近似值返回: 找到的结果数量