请教一个 ElasticSearch 相关的业务问题

查看 40|回复 4
作者:sbhhhhhh   
功能简述:我们有一批数据存在 ES 上(每个数据有一个唯一 ID ),然后每个用户可以对这个数据进行转存(转存后会在 mysql 记录一条 userId 与数据 ID 的关系)。
用户 ID 长度为 14 字符长度。
对客提供搜索功能,其中有一个过滤条件是过滤用户已转存数据。
现在问题是如果有 2000 个用户都对同一个数据进行了转存 那该怎么实现这个方案呢?
最开始我想的是在 ES 上加一个转存用户 ID 列表 但是如果 2000 个用户都正好在一个热点数据上 岂不是这个字段需要挂一个 2000 个元素的列表,好像不太好?
所以请教各位大佬 行业有什么标准方案吗 或者有推荐的思路
stevenchengmask   
es 不适合用在这个场景
luckyxl   
先通过 mysql 查出和用户相关的数据 id,再通过这些 id 去查 ES
sbhhhhhh
OP
  
@luckyxl 拿出数据 ID 然后在 ES 里面去 not in 吗? 但是一个用户有可能转存了 10w 个数据 也没法全部去 in 吧?
sbhhhhhh
OP
  
@stevenchengmask 大佬有什么通用方案吗 主要是目前数据选型已经是 es 了 看看有没有什么可用的方案
您需要登录后才可以回帖 登录 | 立即注册

返回顶部