2

こんにちは、
私は GAE Search API を使用していますが、これは非常に優れた機能のようです。ちなみに、標準のデータストア クエリに欠けている非常に重要な機能を追加します。
しかし、標準のページネーションを実装する、つまり、クエリドキュメントに一致する合計量を取得するという問題に直面しました。確かに、Cursor を使って「もっと見る」ボタンでリストを実装することはできますが、合計金額を取得できるようにすることも素晴らしいことです。
これを行う方法についてのアイデアはありますか?
事前にどうもありがとうございました!

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 に答える