python - 使用谷歌应用引擎搜索 facebook graph api

标签 python facebook google-app-engine

这是我在这里的第一个问题.. :) 嗯..我想知道是否有人以有效的方式实现了这一点。

我想搜索 friends friends 和他们的 friend ,看看他们中的一些人是否存在于我的数据存储中。我想出了几种方法来做到这一点,但它们都有弱点..:/

我的第一个计划是将实体另存为

class Ent(db.Model):
  facebook_id = db.StringProperty()
  friends = db.StringListProperty()
  other_ents_count = db.IntegerProperty()

class OtherEnt(db.Model)
  ent = db.ReferenceProperty(Ent)
  #some properties I would possibly like to filter over

然后为每个登录到我的应用程序的 facebook-id 创建实体

要搜索此内容,您将以 facebook_id 作为键查询 Ent 实体

Ent.get_by_key(facebook_id).filter(other_ents_count>0)

现在的问题是.. 这个图从这里开始爆炸,因为我需要先查询登录用户 friend 说 200-500,然后查询他们的 friend 200-500*200-500..

我研究过使用 mapreduce 使其并发,但我还没有决定这一点。是否有人对此有经验并找到了最好的解决方案?

应该提到的是,我可以访问我遇到的任何 facebook-id 的 friend 列表,因此以某种类似于智能图的方式使用数据存储的解决方案可能是可行的方法。

最佳答案

我同意 Nick 的评论,但我确实觉得这对 GAE 来说尤其困难。图数据库更适合这个问题。

话虽这么说,您也许可以使用 bloom filters 在 GAE 上工作.

布隆过滤器会缩小您必须搜索的记录数量。这,连同类似于 Intersection on Google App Engine 中要求的内容。可以引导您找到解决方案。 (确保阅读我的 comment )

关于python - 使用谷歌应用引擎搜索 facebook graph api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5174534/

相关文章:

javascript - 如何将 Facebook "Like"按钮添加到 AJAX 驱动的页面

cURL 无法解析主机,但 Web 浏览器可以访问它

python - 如何使该页面在登录/注销时重新加载?

javascript - Google App 引擎 Nodejs Puppeteer 中的全局变量

java - 谷歌应用程序引擎java后端_ah/start

python - Python tkinter 元素的绝对定位

python - 使用嵌套 Matplotlib Gridspec 的紧密布局时出错

javascript - Parse.com Facebook API logIn() 方法。永远不会调用回调

python - 尝试函数调用的变体,直到完成且不引发异常

python - 使用通用数据源同步 QListWidget