这是我的实体类的外观:
@Entity
@Unindexed
public class User {
...
@Indexed
private int betsCount = 0;
这是我构建/运行查询的方式:
objectify.query(User.class).filter("betsCount >", MIN_BETS).iterator()
索引没有被添加到datastore-indexes-auto.xml,因此我无法在开发控制台中看到它,当然查询(在实时服务器上运行时)什么都不返回。
我知道我可以手动添加索引(请求创建),但到目前为止,索引的自动创建似乎对我来说非常合适。所以我想知道我在这里失踪了什么。
更新:我没有意识到在将@Indexed注释添加到现有属性时必须重新插入数据。
答案 0 :(得分:2)
您尝试运行的查询只需要一个属性索引。您无需为其指定自定义索引,也不会显示在索引页面中。
我怀疑您的问题与您使用@Unindexed,模型定义的其他内容或您正在使用的数据和标准有关。检查indexed / unindexed上的Objectify文档以获取索引的详细说明。我还要验证数据是否与您指定的条件实际匹配。