Firebase 在Firestore中使用多个OrderBy时的合并索引选项

Firebase 在Firestore中使用多个OrderBy时的合并索引选项,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,对于Firestore中的查询,我们有多个OrderBy排序。 有没有一种方法可以利用,这样我们就不需要为每个组合创建综合指数 例如:我们使用search和CreatedAt查询参数,其中search是一个文本搜索,需要一个默认的orderBy(正如我们使用where操作符一样),CreatedAt需要另一个orderBy。这两种方法需要应用于每个查询。还有5个可选的相等运算符检查 问题是,如果我们不能利用索引合并,它最终会有许多复合索引项,因为会有很多组合 我们试过了,但没能做到。解决此问题的

对于Firestore中的查询,我们有多个OrderBy排序。 有没有一种方法可以利用,这样我们就不需要为每个组合创建综合指数

例如:我们使用search和CreatedAt查询参数,其中search是一个文本搜索,需要一个默认的orderBy(正如我们使用where操作符一样),CreatedAt需要另一个orderBy。这两种方法需要应用于每个查询。还有5个可选的相等运算符检查

问题是,如果我们不能利用索引合并,它最终会有许多复合索引项,因为会有很多组合


我们试过了,但没能做到。解决此问题的任何输入都将非常有用。

对于多个orderBy字段,这是不可能的。您所说的合并只适用于多个相等过滤器。不幸的是,您必须为每个案例创建一个新索引。

噢!所以我以>5结束这里!(阶乘)综合指数。对吗?我不知道你到底需要多少,但听起来,对于你的特定模式,你最终会创建很多。我最终通过优化组合“手动”(通过firebase indexes json文件)创建了139个索引。不幸的是,综合指数对firestore来说是一种痛苦。无论如何,感谢道格的确认:)