如何使用 Cloud Function 将数据从 Firebase Firestore 索引到 Elastic App Search?

Posted

技术标签:

【中文标题】如何使用 Cloud Function 将数据从 Firebase Firestore 索引到 Elastic App Search?【英文标题】:How to index data from Firebase Firestore to Elastic App Search using Cloud Function? 【发布时间】:2021-09-28 17:14:30 【问题描述】:

我在 Firestore 中有用户生成的数据。对于全文搜索功能,我正在尝试使用弹性应用搜索。 我想部署 Cloud 函数,所以每当在 firestore 中写入文档时,需要触发一个函数,然后该函数将索引该文档。

const functions = require("firebase-functions");
const admin = require("firebase-admin");
const axios = require("axios");
admin.initializeApp(functions.config().firebase);
exports.createBPS = functions.firestore
    .document("MyCollection/docId")
    .onWrite((snap, context) => 
      axios.post(
          "https://myapp.ent.us-west1.gcp.cloud.es.io/api/as/v1/engines/myengine/documents?auth_token=private-aadsafdsfadsfdsafdafd",
          snap.after.data()
      );
);

任何帮助将不胜感激。我正在使用以下内容开发移动应用程序 扑 火力基地 弹性应用搜索

firestore 中的示例文档 "id":"1234566", "name": "My name", "description": "My description" 等...

【问题讨论】:

【参考方案1】:

我会推荐使用官方的 ES SDK。这将使您的代码更加稳定和易于阅读。

Here 是一个安装说明,here 是一个简单的例子。

【讨论】:

以上是关于如何使用 Cloud Function 将数据从 Firebase Firestore 索引到 Elastic App Search?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Cloud Function 调用其他 Cloud Firebase Functions

如何通过 Cloud Build 访问 GSM 机密并传递给 Cloud Function

如何从 Cloud Function 获取 Firebase 项目名称或 ID

如何直接从您的 Angular 项目中调用 Firebase Cloud Function

从 Cloud Function (python) 写入 Google Cloud Storage

从 Cloud Function 本身获取 Cloud Function 名称