Go App Engine数据存储中的动态索引

时间:2018-08-28 10:11:05

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

我正在通过GoLang使用Google App Engine。我正在使用数据存储来保留数据。在我的应用程序上,对数据存储的请求数量很高,因此探讨了解决方案并实现了分片。

对于每个实体,我保留5个分片,并且在插入时在0-4之间得到一个否,然后插入entityname_no。在读取数据时,我从所有四个实体和流程中读取了数据。

我遇到的问题是我有两个get查询,在第一个查询中,我有两个过滤器(String,bool),在第二个查询中(String,bool和date),我有三个过滤器。第一个查询运行正常,但是在第二个查询中,它期望所有5个实体的索引,其中index.yaml中的索引仅与该实体相关。

有没有一种方法可以添加动态索引而无需每次都对index.yaml进行审核?

1 个答案:

答案 0 :(得分:1)

不幸的是,目前无法添加动态索引。文档说[1]:“每当实体更改时,这些索引都会更新,因此当应用程序进行查询时,可以快速返回结果。为此,数据存储区需要事先知道应用程序将进行哪些查询。 ”,因此索引需要事先设置并且不是动态的。

[1] https://cloud.google.com/appengine/docs/flexible/go/configuring-datastore-indexes-with-index-yaml

相关问题