elasticsearch,google-cloud-firestore,algolia,Angular,Firebase,elasticsearch,Google Cloud Firestore,Algolia" /> elasticsearch,google-cloud-firestore,algolia,Angular,Firebase,elasticsearch,Google Cloud Firestore,Algolia" />

Angular 使用带有内置查询的外部服务进行Firebase Firestore tie全文搜索

Angular 使用带有内置查询的外部服务进行Firebase Firestore tie全文搜索,angular,firebase,elasticsearch,google-cloud-firestore,algolia,Angular,Firebase,elasticsearch,Google Cloud Firestore,Algolia,所以,我知道为了对Firestore数据进行全文查询,您必须使用外部服务,如Algolia和Elasticsearch,这很好。但我的问题是,我不知道如何将它们与Firestore现有的查询工具(如where、limit和startAfter)结合起来 基本上,我有一个页面,你可以看到最近的10篇文章,然后通过按下按钮并传递最后一个元素的值来加载10篇文章,直到你到达末尾。与本教程类似>

所以,我知道为了对Firestore数据进行全文查询,您必须使用外部服务,如Algolia和Elasticsearch,这很好。但我的问题是,我不知道如何将它们与Firestore现有的查询工具(如where、limit和startAfter)结合起来

基本上,我有一个页面,你可以看到最近的10篇文章,然后通过按下按钮并传递最后一个元素的值来加载10篇文章,直到你到达末尾。与本教程类似><但没有虚拟滚动

query.where('active', '==', true).orderBy('createdAt').startAfter(offset).limit(10);
所有这些都非常有效,但是通过使用外部服务进行额外的全文搜索,我有两个不同的查询,它们彼此都不了解,从而挫败了Firestore尝试提供分页的目的


我是错过了什么,还是已经有人处理过这个问题了?

简单的回答是:你不能。FixStury查询只能考虑FixSt店文档中的数据,而没有别的。
如果数据被镜像到另一个数据库,则必须单独查询该数据库。执行查询的代码可以根据需要合并多个查询的结果。

谢谢您的回答。我似乎不得不利用外部服务,在这个过程中失去了Firestore的一些便利,还是坚持只使用Firestore的解决方案,缺乏关键的功能。