使用Algolia获取按用户权限过滤的时间轴帖子

时间:2018-08-04 04:53:28

标签: algorithm search social-networking algolia

我正在建立一个社交网络网站。在我的社交网络中,用户可以为自己的帖子设置访问权限。例如像facebook,他们可以设置权限only friendsonly mepubliccustom。我正在使用Algolia搜索引擎来过滤用户的帖子。用户创建帖子时,我将使用permissionpublicfriends字段保存该帖子。如果是friends,我将在另一个名为ids的文件中添加他/她的朋友accessList

Post {
  id: 'postId1334'
  text: 'This is a test'
  permission: 'Friends'
  accessList: ['userId1', 'userId123', 'userId2341', 'userId13455']
}

当用户打开时间线时,我将queryfilter= permission: Public OR accessList: currentUserId一起使用,这意味着找到具有“公共许可or current user identifier includes the post访问列表”的帖子。

一切正常,直到我们更改了用户friend list。如果用户将新用户删除或添加到他/她的朋友列表,他们可以看到或看不到某些经Only Friends许可保存的帖子。对于这种情况,用户朋友列表上的任何更改我都必须更新所有用户帖子accessList以适应新的朋友列表。

还有另一种设置用户访问权限的方法吗?

还是我需要使用另一种数据结构?

还是我需要更改查询过滤器?

1 个答案:

答案 0 :(得分:0)

我认为数据结构不需要任何更改。由于Algolia是无架构的,因此您描述的结构是如何在“发布”和访问列表用户之间复制“关联”。