1

これが私のエンティティクラスの外観です。

@Entity
@Unindexed
public class User {
    ...
    @Indexed
    private int betsCount = 0;

これが私がクエリを構築/実行する方法です:

objectify.query(User.class).filter("betsCount >", MIN_BETS).iterator()

インデックスはdatastore-indexes-auto.xmlに追加されていないため、dev-consoleで表示できず、当然、クエリ(ライブサーバーで実行した場合)は何も返しません。

インデックスを手動で追加(作成をリクエスト)できることは知っていますが、これまでのところ、インデックスの自動作成は完全に機能しているようです。だから私はここで何が欠けているのか疑問に思っています。

更新:既存のプロパティに@Indexedアノテーションを追加するときに、データを再挿入する必要があることに気づきませんでした。

4

1 に答える 1

2

実行しようとしているクエリに必要なプロパティ インデックスは 1 つだけです。カスタム インデックスを指定する必要はなく、インデックス ページには表示されません。

あなたの問題は、@Unindexed の使用、モデル定義の他の何か、または使用しているデータと基準に関連していると思われます。インデックスの詳細な説明については、インデックス付き/インデックスなしの Objectify ドキュメントを確認してください。また、データが実際に指定した基準と一致することも確認します。

于 2012-02-23T06:18:13.453 に答える