首页 > 解决方案 > 在 Firestore 中使用 Bigquery 进行全文搜索

问题描述

我必须在我的 Flutter 应用程序中实现全文搜索,该应用程序使用 Cloud Firestore 作为后端。搜索将扫描集合中的文档并查看其中是否包含搜索字符串。Firestore 本身不支持全文搜索,建议使用第三方搜索服务 Algolia。问题 - 这是非常昂贵的。

我可以为这个功能使用 bigquery 吗?我已经通过 firestore 将数据流式传输到 bigquery 中。所以所有的集合都在 bigquery 中可用。

如何直接从颤振应用程序执行 bigquery 的“SELECT”查询?这种方法有什么缺点,如果有的话,还有其他选择吗?

标签: firebasefluttergoogle-cloud-firestoregoogle-bigqueryalgolia

解决方案


我可以为这个功能使用 bigquery 吗?

如果您使用正确的工具来完成这项工作,您将获得最佳结果。如果您想要跨大型数据集进行临时查询,我建议您使用 BigQuery。如果要进行全文搜索,我建议使用专用的全文搜索引擎。

如何直接从颤振应用程序执行 bigquery 的“SELECT”查询?

Google Cloud 产品附带的 SDK 只能在受信任的环境中使用。没有直接的 SDK 可以直接从您的 Flutter 应用程序代码或我知道的任何其他直接客户端访问 BigQuery。

因此,您必须将服务器端代码封装在自定义 API 中,然后将其公开给 Flutter 应用程序。通常,您会在 Cloud Functions 或 Cloud Run 之类的工具中执行此操作。


推荐阅读