【问题标题】:Objectify Indexed Entity not available for filtering in the google cloud datastoreObjectify Indexed Entity 不可用于在谷歌云数据存储中过滤
【发布时间】:2017-04-07 11:17:47
【问题描述】:

我有一个 Objectify 实体,其字段声明如下所示

@Index
private @Load 
Ref<Course> course;

但我不能使用此字段在谷歌云控制台中搜索实体,因为它在可用于过滤的可用参数下拉列表中不可用。 注意:该字段是在数据存储中添加数据后编制索引的。

这可能是什么原因?我必须更改复合索引吗?

【问题讨论】:

    标签: google-app-engine google-cloud-datastore objectify


    【解决方案1】:

    单个属性索引是在保存实体时基于每个实体创建的。与datastore-indexes.xml 中配置的多属性索引不同,只需更改 java 文件不会对存储的数据产生任何影响。

    您需要重新保存所有相关实体才能为该字段编制索引。

    【讨论】:

    • 我必须保存特定实体的所有记录吗?还是只保存其中一个就可以了?
    • 您必须重新保存要更改其索引的任何实体。单属性索引在单个实体写入时添加/更新。
    • 你可以强制索引而不是遍历所有实体,查看这个答案,stackoverflow.com/a/34583510/5836034
    猜你喜欢
    • 1970-01-01
    • 2015-07-17
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    • 2018-10-11
    • 2013-05-17
    相关资源
    最近更新 更多