es分页边界数据重复问题处理

问题描述:

运营收到客户反馈,客户在分页查询数据的时候,出现上一页的最后一条跟下一页的第一条出现重复。

问题猜测:

1、db原始数据重复(排除)

2、es数据重复(排除)

3、新增了数据影响到了分页(确定问题)

解决方案:

1、Time base(基于时间)

与前端约定每次开始分页查询时给定一个当前时间戳,查询条件带上该时间戳,只查出小于该时间戳的数据。

2、Point in time

使用es提供的Point in time,提供基于创建时刻的数据快照,自动过期释放资源,,会占用内存,占用内存较低,适用于实时搜索、分页浏览。

3、Scroll

使用es提供的Scroll,基于初始搜索时刻的固定快照,内存较高,需维护完整的搜索上下文,需要手动管理(clear-scroll)以避免内存泄漏,适用于数据导出、批量处理。

方案对比:

|----------|---------------|-------------------|------------|
| | Time base | Point in time | Scroll |
| 适用场景 | 实时搜索、分页浏览 | 实时搜索、分页浏览 | 数据导出、批量处理 |
| 内存占用 | 低 | 较低 | 较高 |
| 资源管理 | 无 | 自动过期释放资源 | 需要手动管理 |

上述方案都可以解决翻页数据重复的问题,由于是c端查询,随着用户数量凉的增加,使用快照方式会导致服务器内存紧张,遂放弃2和3,如果在业务能够容忍新数据暂时查询不出来,可以使用1方案来解决。

上述问题在传统数据库同样存在,并不是es特有,不过es为这种问题提供了解决方案。

没有最好的方案,只有最适合的。

相关推荐
辛迪聊物业数字化23 分钟前
智慧社区物业管理软件新手部署与实操指南
大数据·php
字节跳动数据平台40 分钟前
模型再强,为什么 Demo 还是进不了生产?
大数据
南京兴帝文化传媒有限公司1 小时前
本地生活服务GEO优化实战:宁国花店地图关键词布局带来订单翻倍的技术路径
大数据·人工智能·生活·geo 优化·geo优化避坑·ai搜索获客
跨境小彭1 小时前
Temu运营避坑:制造地点信息填写规范、后果及批量实操教程
大数据·运维·自动化·跨境电商·temu
Cx330❀1 小时前
【Linux网络】网络层 IP 协议:从网段划分到内核源码解析
大数据·linux·服务器·网络·tcp/ip·性能优化·langchain
Data_Journal1 小时前
使用 AutoScraper 进行网页抓取:分步教程
大数据·开发语言·数据库·python·scrapy
chaoyuanl1 小时前
超元力主题乐园飞行影院:把景区文化做成可持续更新的沉浸体验
大数据·3d·xr·娱乐·mr
Elasticsearch2 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
elasticsearch
林澈在路上2 小时前
游戏场景背景音乐定制AI软件哪款好 2026对比推荐
大数据·人工智能·aigc·音视频
AgentMaster2 小时前
企业如何应用智能客服?5 个典型场景的技术架构与实施路径
大数据·算法