我已经在 ES 中索引了 Twitter 数据。有1.1 亿个 Twitter 唯一用户个人资料和6.5 亿条推文。两者都在单独的索引(索引:twitter-profiles,类型:profiles)中,用于推文(索引:twitter-tweets,类型:tweets)。
每条推文都附有个人资料的user_id_str。
我在获取特定用户的出现次数时遇到问题。我使用了Facet/terms 和 Aggregation/Terms但都给了我异常PartialShardFailureException因为有很多数据需要计算。我使用了以下查询
{
"aggs" : {
"userCount" : {
"terms" : { "field" : "user_id_str" }
}
}
}
然后我再试一次。
我使用了第二种方法Scan。在这里,我从配置文件类型中获取配置文件的 ID,然后在推文类型中搜索它。它给了我结果,但在2 秒OOps后出现了一个结果。有 1.1 亿用户意味着我必须等待几天。
请给我任何合理的解决方案。