firebase - 在 Firestore 中使用 Bigquery 进行全文搜索
问题描述
我必须在我的 Flutter 应用程序中实现全文搜索,该应用程序使用 Cloud Firestore 作为后端。搜索将扫描集合中的文档并查看其中是否包含搜索字符串。Firestore 本身不支持全文搜索,建议使用第三方搜索服务 Algolia。问题 - 这是非常昂贵的。
我可以为这个功能使用 bigquery 吗?我已经通过 firestore 将数据流式传输到 bigquery 中。所以所有的集合都在 bigquery 中可用。
如何直接从颤振应用程序执行 bigquery 的“SELECT”查询?这种方法有什么缺点,如果有的话,还有其他选择吗?
解决方案
我可以为这个功能使用 bigquery 吗?
如果您使用正确的工具来完成这项工作,您将获得最佳结果。如果您想要跨大型数据集进行临时查询,我建议您使用 BigQuery。如果要进行全文搜索,我建议使用专用的全文搜索引擎。
如何直接从颤振应用程序执行 bigquery 的“SELECT”查询?
Google Cloud 产品附带的 SDK 只能在受信任的环境中使用。没有直接的 SDK 可以直接从您的 Flutter 应用程序代码或我知道的任何其他直接客户端访问 BigQuery。
因此,您必须将服务器端代码封装在自定义 API 中,然后将其公开给 Flutter 应用程序。通常,您会在 Cloud Functions 或 Cloud Run 之类的工具中执行此操作。
推荐阅读
- linux - 使用 if 函数导出变量的 Bash 脚本
- bash - AWK 删除空行并将空列附加到目录中的所有 csv 文件
- assembly - 为什么没有实现 DIV 指令来设置 CF 而不是引发异常
- mel - 修复 MEL FOR 循环
- java - 具有合并单元测试的 Spring Reactive WebClient 不会终止
- sql - 接近 SQL 查询构建
- javascript - React-dnd 与多个 canDrops 通过数组拆分
- powershell - 如何从 powershell 中启动 cmd 并将命令传递给 cmd 实例?
- java - java.text.ParseException:无法解析的日期:“...”
- node.js - 无法将 npm 工件推送到 Gitlab