这是我的第一个问题。。:)嗯。。我想知道是否有人能有效地做到这一点。在
我想搜索朋友朋友,可能还有他们的朋友,看看他们中的一些人是否存在于我的数据存储中。我想了好几种方法来做这件事,但它们都有弱点。。:/
我的第一个计划是将实体另存为
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创建实体
那么你就可以用这个关键字来搜索实体了
^{pr2}$现在的问题是。。这个图从这里开始爆炸,因为我需要先查询登录用户朋友说的200-500,然后查询他们的朋友200-500*200-500。。在
我考虑过使用mapreduce来实现并发,但是我还没有决定。。有没有经验的人能找到最好的解决方案?在
值得一提的是,我可以访问我遇到的任何facebook id的朋友列表,所以一个以类似智能图的方式使用数据存储的解决方案可能是可行的。在
我同意尼克的评论,但我确实觉得这对盖伊来说尤其困难。图形数据库更适合这个问题。在
据说,您可以使用bloom filters来处理GAE。在
bloom过滤器将缩小你必须搜索的记录数量。这一点,再加上Intersection on Google App Engine中所问的问题,可以引导您找到解决方案。(请务必阅读我的comment)
相关问题 更多 >
编程相关推荐