Cloud Datastore - 从 index.yaml 文件中排除索引

Cloud Datastore - Exclude indexes from index.yaml file

我只想在 kind 中的几个字段上建立索引。在创建 Entity 期间,我并没有像 here 中那样排除 Java 代码中的所有字段,而是想知道是否有一种方法可以在 [=16= 中定义它] 文件,在创建实体时不用担心它。

用 Java 编写的 App Engine 应用程序没有 index.yaml 文件,而是有一个 datastore-indexes.xml 文件。但是,概念是一样的。

默认情况下,大多数属性都已默认编入索引。必须在索引配置文件中定义任何复合索引(yaml 或 xml 取决于语言)。定义模型时,您可以告诉 App Engine 防止自动索引 属性。这将节省写入操作并加快您的应用程序。

为了更具体地回答您的问题,您不能使用索引配置文件来阻止创建索引,而是用来告诉 App Engine 要创建哪些索引。

此外,索引仅在实体保存时创建。因此,如果您在实体被冠上后添加更多,您将需要 运行 一个脚本来更新它们。

同样,要在索引创建后删除它们,您需要使用 sdk 从命令行执行此操作。参见 here