Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud firestore 为什么firestore不能与多个字段范围过滤器一起工作?_Google Cloud Firestore - Fatal编程技术网

Google cloud firestore 为什么firestore不能与多个字段范围过滤器一起工作?

Google cloud firestore 为什么firestore不能与多个字段范围过滤器一起工作?,google-cloud-firestore,Google Cloud Firestore,为什么firestore不能与多个字段范围过滤器一起工作 我也想知道为什么我不能做全文搜索 这个算法有什么原因吗 我想知道原因。Firestore有一个非常独特的性能保证:检索数据所需的时间只取决于您检索的数据量,而不取决于您从中检索的数据量。因此,无论一个集合中有1000个、100万个或10亿个文档,检索其中的10个文档总是需要相同的时间 为了保证这一性能,Firestore有一组有限的查询功能。例如:Firestore只支持可以跳转到索引中正确起始点的查询,并从该起始点流式处理结果,直到查询

为什么firestore不能与多个字段范围过滤器一起工作

我也想知道为什么我不能做全文搜索

这个算法有什么原因吗


我想知道原因。

Firestore有一个非常独特的性能保证:检索数据所需的时间只取决于您检索的数据量,而不取决于您从中检索的数据量。因此,无论一个集合中有1000个、100万个或10亿个文档,检索其中的10个文档总是需要相同的时间

为了保证这一性能,Firestore有一组有限的查询功能。例如:Firestore只支持可以跳转到索引中正确起始点的查询,并从该起始点流式处理结果,直到查询结束。这使得它无法支持以下内容:

或者查询,因为这些需要跳过索引,这将无法保证性能。请注意,目前正在开展工作,以支持可能的IN查询子集,这样您就可以查询类似“给我所有提供泰国或意大利食品的餐厅”之类的内容。 查询文本的子字符串。Firestore只支持所谓的前缀查询,因此值以子字符串开头,但不支持值包含子字符串的位置。因此,您可以搜索以“zla”开头的所有名称,但不能搜索包含“lat”的所有名称。 查询多个范围,因为这些范围也可能导致无法保证性能。
有关此问题的另一个好解释,请参阅。

谢谢您的回答!firestore是否使用B+树算法?我认为多列范围规范和全文搜索%xxx%查询类似于索引不起作用的功能。