关于ES查询内存溢出的欲盖弥彰
故事BUG的起因是某客户点击了分页的最后一页——第18643页,然后es直接达拉崩吧了。
后端大哥说这个BUG一直存在,只是没想到真的有客户会看最后一页,毕竟是日志数据,此后省略吐槽。
但是,客户上帝佛祖说,我要看最后一页。
【资料图】
先说明我们欲盖弥彰的做法,前端的组件用的是ant-design-vue 1.7.8版本,附带一下网址https://1x.antdv.com/components/table-cn/,分页效果如下图所示的前一页、页码、向后5页、最后一页、后一页。
首先要满足客户说的”看最后一页“这个要求。
所以我们增加了个倒序,原本数据是降序排列,也就是最新的数据在前,历史数据在后,客户既然要看最后一页,那我增加个倒序排列,把最后一页直接转化成第一页,直接把用户点击最后一页的操作转化成点击第一页,问题解决了一半。
然后,我们后端大哥提了个骚建议,直接把原组件里带的最后一页给他去掉,不存在即不点击。
看了一下他的结构,这个class ant-pagination-item-20就写的很有灵性,20就是页码数,数据接口有,即使没有总页数,total也能算出来,把classname是“ant-pagination-item-”+总页数的dom元素给他remove掉或者欲盖弥彰的display:none都可。
接下来介绍一下搜索"床上等你"(CSDN)得到的解决方法,推荐直接跳转大佬的文章,http://t.csdn.cn/w8llT
简单总结一下大佬的说法,es查询分页有两种,一种使用from+size,一种使用after_search,前者是普通分页,后者是深度分页。但是两种都有弊端。
深度分页(滚动式)理论上可以查询全部历史,但是不能实现跳页(也就是笔者上文分页示图中显示的功能);普通分页,在海量数据下OOM家常便饭。
所以加个倒序吧。
关键词:
上一篇:奔驰A200L钥匙隐藏功能,A200L钥匙更换电池图解
下一篇:最后一页
广告
X 关闭
X 关闭
-
-
京张高铁每日开行17对冬奥列车
京张高铁每日开行17对冬奥列车 预计冬奥服务保障期运送运动员、技术官员、持票观众等20万人次 2月6日,2022北京新闻中心举行“北
-
-
北京冬奥会开幕式上 小学生朱德恩深情演绎《我和我的祖国》
北京冬奥会开幕式上 小学生朱德恩深情演绎《我和我的祖国》 9岁小号手苦练悬臂吹响颂歌 2月4日晚,在北京冬奥会开幕式上,9岁的
-
-
2022北京冬奥会开幕式这19首乐曲串烧不简单
多名指挥家列曲目单 再由作曲家重新编曲 本报专访冬奥开幕式音乐总监赵麟 开幕式这19首乐曲串烧不简单 “二十四节气”倒计时、
-
-
“一墩难求” 冰墩墩引爆购买潮
设计师:没想到冰墩墩成爆款一墩难求冰墩墩引爆购买潮 北京冬奥组委:会源源不断供货北京冬奥会吉祥物冰墩墩近日引爆购买潮,导致一墩难求