Java GAE数据存储-所有排序操作的单一复合索引
我正在使用GAE(java)和objectify查询数据存储。我有一个查询,其中实体将根据三个不同的属性进行过滤。因为它们是索引的,所以它工作得很好。但是我需要根据另一个属性对结果进行排序。所以我添加了这样的综合指数 实体种类-> --FiterProperty 1 asc --fiterProperty2 asc --FiterProperty 3 asc --分类属性描述 它也很好用。但我有六个以上的其他属性可以对查询进行排序。(一次一个排序用于查询,而不是一次全部六个排序)。因此,问题是:Java GAE数据存储-所有排序操作的单一复合索引,java,google-app-engine,objectify,Java,Google App Engine,Objectify,我正在使用GAE(java)和objectify查询数据存储。我有一个查询,其中实体将根据三个不同的属性进行过滤。因为它们是索引的,所以它工作得很好。但是我需要根据另一个属性对结果进行排序。所以我添加了这样的综合指数 实体种类-> --FiterProperty 1 asc --fiterProperty2 asc --FiterProperty 3 asc --分类属性描述 它也很好用。但我有六个以上的其他属性可以对查询进行排序。(一次一个排序用于查询,而不是一次全部六个排序)。因此,问题是:
查询所有实体并在代码中对其排序。这对我不起作用,因为我有超过10000个实体用于单个种类。我认为这也不是一个可行的解决方案。默认方法是在devserver上运行所有必需的查询,然后查看自动生成的索引文件包含什么。关于1)每个索引都会增加索引计数,因此是的。2) 这应该行得通。一般来说:这种复杂的综合指数通常来源于过于复杂或未优化的实体模型。根据您需要执行此类查询的频率,您可能希望在内存中执行一些筛选/排序,并将结果缓存在结果表中以供以后使用。谢谢您的帮助。