我有一个包含许多文档的索引。在我的应用程序中,登录在用户名下发生。对于用户,只有一组数据应该是可见的,即我想将每个用户限制为一组文档。有人可以提供一个如何使用elasticsearch实现这个的解决方案吗?
假设我的索引包含以下文档 RECORD1 RECORD2 RECORD3 RECORD4 我说有2个用户,user1和user2 当user1登录时,他应该可以访问“record1”,“record2”和“record3”。对于user2,访问权限应仅为“record4”。
答案 0 :(得分:0)
您可以在索引中再添加一列,您可以在其中保留目标用户的记录,在查询索引时,您可以检查列中指定的用户中是否有登录用户。
答案 1 :(得分:0)
我建议你使用index aliases。 索引别名可以向它们添加过滤器。
因此创建2个别名,每个用户一个。
现在为每个别名创建一个过滤器,将用户限制为他自己的文档集。 (只需使用文档ID搜索)
限制这些用户使用代理仅使用这些别名。 那应该是诀窍