我正在使用Algolia和Firebase构建一个应用程序。
为了使用Algolia,我使用了以下firebase扩展,以便每次向firestore添加、编辑、更新新数据时,Algolias都会保持相同的记录。
一切都很好,除了在Algolia存储唱片大约需要1-2分钟(目前有大约15000多张唱片(。
我目前直接从Algolia读取和显示数据,并在数据更改时进行更新。然而,等待1-2分钟用户才能最终看到更新的详细信息似乎很荒谬。
我使用Algolia是因为我需要更灵活的搜索选项+页面偏移分页。如果我能用firestore做到这一点,我会很乐意直接从firestore读取数据。
但既然这是不可能的有人能看到更好的选择吗
我已经尝试过编写自定义触发器而不是扩展,但速度似乎是一样的。
这似乎是预期的行为。Algolia的文档中有一个专门针对该主题的页面:
为什么我的对象在添加后不能立即进行搜索?。
当您添加或更新记录时,我们的服务器会在了解操作后立即回复您的请求,但实际索引会在几秒钟后异步启动。
他们还表示,可能需要几秒钟(或几分钟(才能获得新文档。你可以阅读更多关于索引速度的信息?。它说,共享集群的索引可能会更慢。升级到专用集群可能会有所帮助。也就是说,索引所需的时间并不取决于您是使用扩展、自定义云功能还是自己的服务器在Algolia中添加数据。