【问题标题】:How Do List Properties Impact the Index Entries per Entity in Google App Engine?列表属性如何影响 Google App Engine 中每个实体的索引条目?
【发布时间】:2010-12-18 16:00:44
【问题描述】:

我知道每个实体有 5000 个索引条目的限制,这 意味着我不能做这样的事情:

class Foo(db.Model):
   x = db.ListProperty(int)
   y = db.ListProperty(int)

foo1 = Foo(x = range(5001))
foo1.put()

此外,如果我在 index.yaml 中有索引

- kind: Foo
 properties:
 - name: x
 - name: y

然后我也从这个帖子中看到:

http://groups.google.com/group/google-appengine/browse_thread/thread/d5f4dcb7d00ed4c6

我不能这样做:

foo2 = Foo(x = range(100), y=range(100))
foo2.put()

因为这会给我 10,000 个索引条目。

但是,我的问题是:如果我在 index.yaml 中没有任何条目 Foo并尝试:

foo3 = Foo(x = range(100), y=range(100))
foo3.put()

这仍然会引发“BadRequestError:Too many indexed properties 实体”异常?从我的测试来看,它看起来不会导致任何 错误。它是否正确? foo3 有多少索引条目 这个案例?是 200(每个列表长度的总和)吗?或者 还有什么?

【问题讨论】:

    标签: google-app-engine indexing limit listproperty


    【解决方案1】:

    你是对的 - 这不会引发任何异常,它会创建 200 个索引条目。

    复合索引的工作方式是为每个唯一的值组合创建一个索引行,而内置索引为每个值创建一个索引行 - 它们相当于在每个值上定义一个单独的单一属性索引模型中的属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-22
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      相关资源
      最近更新 更多