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

搜索文章,按浏览量排序分页,会出现重复值

  •  
  •   jueduizone · 2017-03-27 09:47:23 +08:00 · 3014 次点击
    这是一个创建于 2799 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在做一个基于 elasticsearch 的搜索功能,根据关键词查询系统中的文章,根据关键词匹配度和浏览量排序输出数据,需要做分页。

    然后现在产品提出一个分页会出现重复数据的问题:

    • 假设匹配度相同的情况下,原本在第一页的数据因为本来第二页的某条数据浏览量突然增长被挤到了第二页。
    • 或者正好浏览时,出现了一篇新文章,关键词匹配度很高,也会把前也的数据挤下来。

    目前想到一个基于 redis 的解决方案,查询时先都缓存,然后后续根据时间都读 redis 数据。

    其实我个人觉得,出现的概率非常低,有没有必要做过多复杂的处理? 或者大家有没有更好的解决重复的方案?

    4 条回复    2017-03-27 14:19:07 +08:00
    Immortal
        1
    Immortal  
       2017-03-27 09:51:28 +08:00
    没必要
    qiayue
        2
    qiayue  
       2017-03-27 10:07:00 +08:00
    不管你缓存多久,都会遇到缓存刚好过期的情况
    某个用户点第一页的时候,缓存还剩 1 秒,他在浏览的时候,缓存已经过期了,点第二页,就是新的数据了

    所以,如 1 楼所说,没必要
    ideascf
        3
    ideascf  
       2017-03-27 13:27:52 +08:00   ❤️ 1
    同楼上觉得没必要,另可以看看 twitter 的这篇文章: https://dev.twitter.com/rest/public/timelines
    kimmykuang
        4
    kimmykuang  
       2017-03-27 14:19:06 +08:00
    没必要+1 ,我自己也遇到过,也在其他的社区 app 或者贴吧 app 遇到过
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   900 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:49 · PVG 04:49 · LAX 12:49 · JFK 15:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.