我希望能够使用 Map-reduce 处理按日期时间属性或任何非键属性排序的查询的模型实体。
看起来 map reduce 的关键因素是能够均匀地分割范围,并缩小到最小范围“空间”(即,不是基于实体的数量,而是基于范围内可能的实体数量)。内置范围是一个键范围,GAE 将其设计为均匀分布,并且每个键限制为 1 个。
看起来在任何其他属性上创建范围迭代器也有两个可能的问题:(1)均匀分布;(2) 任意给定值的实体数量。以问题 (2) 为例,一个日期时间值可能有多个实体。这似乎产生了确定用于拆分范围的批量大小的问题。
我的问题是:是否有一个实用的解决方案来创建一个 map reduce 模型迭代器,其范围迭代器不基于模型键,并且可能既不是均匀分布也不是任何范围的可预测实体计数?