我的Firebase Firestore简单查询的响应时间长(每个查询10到30秒)

xxx*_*xxx 6 firebase google-cloud-firestore

我有一个Firestore查询,对我来说似乎应该很快运行,但是每次往返要花10到30秒。我将Firebase ios sdk版本4.5.0用于Swift 4,Xcode版本:9.1。我的Firestore窗格也是4.5.0。

我有一个Firestore集合,其中包含3500个位置文档。我的查询从locations集合中获取所有位置文档,其中“ geohash_6”字段等于“ 9q8yyq”。在我看来,这应该是一个相当简单的查询,但是每次调用它都花费很长时间。

问题是,每次更新时,我需要为5个不同的geohash调用此查询。我希望每个查询的UI加载时间快于10秒,并且绝对快于30秒。我能做些什么来加快速度吗?看来,即使我要使用Elasticsearch或类似的搜索/索引服务,提供由搜索服务标识的完整Firestore结果仍然需要10到30秒。

谢谢!


这是我的实际查询:Firestore.firestore()。collection(“ locations”)。whereField(“ geohash_6”,isEqualTo:“ 9q8yyq”)

这是我输出的调试日志,因此我可以看到几个连续请求的时间:

31秒:
加载:运行updateLocationStore()
加载:在2017-11-28T14:20:35
外出9q8yyq中的位置加载:在2017-11-28T14:21:06返回9q8yyq中的位置

13秒:
加载:运行updateLocationStore()
加载:在2017-11-28T14:21:06
移出9q8yyw中的位置加载:在2017-11-28T14:21:19返回9q8yyw中的位置

14秒:
加载:运行updateLocationStore()
加载:在2017-11-28T14:21:19
在9q8yyr中的位置出去加载:在2017-11-28T14:21:33返回9q8yyr中的位置

12秒:
加载:运行updateLocationStore()
加载:在2017-11-28T14:21:33
在9q8yyx中的位置出去加载:在2017-11-28T14:21:45返回9q8yyx中的位置