1

这是我的实体类的外观:

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

这就是我构建/运行查询的方式:

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

该索引未添加到 datastore-indexes-auto.xml,因此我在开发控制台中看不到它,自然查询(在实时服务器上运行时)什么也不返回。

我知道我可以手动添加索引(请求创建它),但到目前为止,自动创建索引似乎对我来说非常有效。所以我想知道我在这里错过了什么。

更新:我没有意识到在将@Indexed 注释添加到现有属性时必须重新插入数据。

4

1 回答 1

2

您尝试运行的查询只需要一个属性索引。您不需要为它指定自定义索引,它不会显示在索引页面中。

我怀疑您的问题与您对@Unindexed 的使用、模型定义的其他内容或您正在使用的数据和标准有关。检查索引/未索引的 Objectify 文档以获取索引的详细描述。我还将验证数据是否确实符合您指定的标准。

于 2012-02-23T06:18:13.453 回答