Tag: algolia

无法部署Firebasefunction

Node.js命令提示符是简单地忽略这个函数,而其他函数正在部署,我也没有得到任何错误。 var database = admin.database(); var postsRef = database.ref("/posts"); postsRef.on('child_added', addOrUpdateIndexRecord); function addOrUpdateIndexRecord(dataSnapshot) { // Get Firebase object var firebaseObject = dataSnapshot.val(); // Specify Algolia's objectID using the Firebase object key firebaseObject.objectID = dataSnapshot.key; // Add or update object index.saveObject(firebaseObject, function(err, content) { if (err) { throw err; } console.log('Firebase object indexed in Algolia', firebaseObject.objectID); […]

Firebase的云端函数在Algolia中为Firebase数据库对象build立索引

我通过文档,github仓库,但没有为我工作呢。 我的数据结构: App { posts : { <post_keys> : { auth_name : "name", text : "some text" //and many other fields } } } 1) Github存储库 :如果我使用这个,我只从一个函数获得一个字段,如果我需要所有的字段,我将需要为每个函数编写单独的函数,这是一个坏的方法。 2) Algolia Node.js的官方文档 :这不能作为一个云function部署,但它做我打算做的。 我如何编写一个可以在Firebase上部署的函数,并获取在Algolia中使用其密钥索引的整个对象?

Algolia Javascript前端客户端search – .clearCache只有第一次运行,然后结果已过时,需要重新加载

我一直在努力解决这个问题几个星期,在我的Ionic应用程序中,我有一个简单的“search”,我没有search的文本,只使用filter。 Algolia通过Nodejs脚本与Firebase服务器同步,当我在Firebase中创build/更新/删除条目时,它会自动更新Algolia中的该对象。 问题是,当我从我的应用更新Firebase中的对象时,我自动再次调用Algolia以获得更新的结果集。 但是,当我这样做时,更新的结果不会出现,直到第二次,我必须重新加载结果。 它应该这样做,一旦我更新和重新加载,但它需要第二次重新加载。 我应该注意到,当我第一次加载Algolia的结果,然后做一个创build/更新/删除操作,它会显示正确,但随后的更新似乎有所不同,基于Algolia和Firebase之间的竞争条件。 我试过添加一个setTimeout()因为我相信这可能与这个种族问题有关。 似乎同步几乎立即发生,但即使延迟了500毫秒,它仍然遇到这个问题,结果不一致。 如果我把延时增加到至less1500ms – 5000ms,似乎每一次都会工作,但这一切都取决于networking连接。 有一个更好的方法吗?

使用Node.js函数从Firebase获取Value Key对

好的,我正在使用Algolia在我的应用程序中处理search。 以下代码将我数据库中的任何内容添加到Algolia索引中。 但是,无论何时导入数据,Firebase节点中的所有值都置于Algolia索引中的“文本”下。 如何将其存储为Firebase中find的键值对。 即 地址:1234 Main St. VS. / (代替) 文本: 地址:1234 Main St. 我的代码: exports.indexentry = functions.database .ref('/blog-posts/{blogid}/text') .onWrite(event => { const index = client.initIndex(ALGOLIA_POSTS_INDEX_NAME); const firebaseObject = { text: event.data.val(), objectID: event.params.blogid, }; });

Algolia重复

Algolia正常工作时遇到了一些麻烦。 我正在使用NodeJS,并试图在我的数据库和Algolia之间进行一些同步,但由于某种原因,一些重复的东西似乎随机popup。 正如你所看到的,在某些情况下,除了主题名称外,还有两个不同的条目会popup完全不同的数据。 我没有在其他任何地方运行add-to-algolia代码,并且UUID已closures,因为我放入的条目在它们前面有“topic-”。 function loadNewTweets(){ console.log("Checking…"); var tweets; var topics; var referenceTopics; Promise.all([ //stuff ]) .then(function(data){ topics = [ //data ] return Promise.each(topics, function(topic, index){ return new Promise(function(res,rej){ Promise.all([ //things ]) .then(function(r){ var id = 'topic-'+uuid.v4(); if(!topicDB){ var obj = { //data } console.log("Adding", topic.topic, "to topic DB + Algolia"); return new Promise(function(res,rej){ var […]