Java 为什么';t dev服务器是否为此查询自动创建索引?
以下是我的实体类的外观:Java 为什么';t dev服务器是否为此查询自动创建索引?,java,google-app-engine,objectify,Java,Google App Engine,Objectify,以下是我的实体类的外观: @Entity @Unindexed public class User { ... @Indexed private int betsCount = 0; 以下是我构建/运行查询的方式: objectify.query(User.class).filter("betsCount >", MIN_BETS).iterator() 索引没有添加到datastore-indexes-auto.xml中,因此我无法在开发人员控制台中看到它,查
@Entity
@Unindexed
public class User {
...
@Indexed
private int betsCount = 0;
以下是我构建/运行查询的方式:
objectify.query(User.class).filter("betsCount >", MIN_BETS).iterator()
索引没有添加到datastore-indexes-auto.xml中,因此我无法在开发人员控制台中看到它,查询(在实时服务器上运行时)自然不会返回任何结果
我知道我可以手动添加索引(请求创建),但到目前为止,自动创建索引似乎对我来说非常有效。所以我想知道我在这里错过了什么
更新:我没有意识到在向现有属性添加@Indexed注释时必须重新插入数据。您试图运行的查询只需要一个属性索引。您不需要为它指定自定义索引,它也不会显示在“索引”页面中
我怀疑您的问题与您使用@Unindexed、模型定义的其他内容有关,或者可能与您使用的数据和标准有关。有关索引的详细说明,请查看上的Objectify docs。我还要验证数据是否确实符合您指定的标准。这是一个单一属性索引。您不需要为它指定自定义索引,它也不会显示在“索引”页面中。我想我可能只需要重新插入实体,因为我现在才将索引注释添加到该属性中。(插入的实体没有在该属性上建立索引。)是的,这就是问题所在。