V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
klakekent
V2EX  ›  Elasticsearch

如何筛选帖子评论赞同数量最高的那条数据?

  •  
  •   klakekent · 2018-03-30 16:54:46 +08:00 · 3192 次点击
    这是一个创建于 2437 天前的主题,其中的信息可能已经有所发展或是发生改变。
    es 里面每条数据结构如下

    postid,commentid,comment,starts
    1 1 ×××× 3
    1 2 ×××× 4
    2 3 ×××× 1
    2 4 ×××× 0


    我想选出来每一个帖子下面的评论 starts 最高的一条该怎么做呢?
    6 条回复    2018-06-03 13:38:09 +08:00
    klakekent
        1
    klakekent  
    OP
       2018-03-30 16:56:40 +08:00
    我想得到的结果大概就是
    1 2 ××× 4
    2 3 ××× 1
    zhangfeiwudi
        2
    zhangfeiwudi  
       2018-03-30 17:00:33 +08:00
    group on + order by 可行否?
    klakekent
        3
    klakekent  
    OP
       2018-03-30 18:01:50 +08:00
    我发现用 aggs 和 top_hits 组合会有个问题,就是比如我的 postid 有 6 条评论,但是通过这个方式选出来显示 total 数量不足 6 条
    turan12
        4
    turan12  
       2018-03-30 22:31:50 +08:00
    max(stars) + group by postid
    Hieast
        5
    Hieast  
       2018-03-31 01:41:55 +08:00 via Android
    使用 terms postid 桶,每个桶里取 max starts
    klakekent
        6
    klakekent  
    OP
       2018-06-03 13:38:09 +08:00
    解决 用 collapse 很简单
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2652 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:20 · PVG 18:20 · LAX 02:20 · JFK 05:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.