System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() ElasticSearch深度分页查询方法、装置和电子设备制造方法及图纸_技高网

ElasticSearch深度分页查询方法、装置和电子设备制造方法及图纸

技术编号:40359087 阅读:7 留言:0更新日期:2024-02-09 14:45
本发明专利技术公开了一种ElasticSearch深度分页查询方法、装置和电子设备,属于大数据分析技术领域,其中,方法包括:基于ElasticSearch执行以下至少一项;根据预设推送策略分批次向第一数据库推送已被写入ElasticSearch的分页数据,第一数据库与第一业务类型关联,第一业务类型的业务用于从第一数据库中查询分页数据;在ElasticSearch接收到目标对象发送的第二数据查询请求的情况下,基于向后查询search after方式预先加载第一分页数据,并将第一分页数据存入目标对象,其中,第二数据查询请求用于请求在目标对象输出第二分页数据,第二分页数据为目标对象已获取的与分页临界值对应的分页数据,第一分页数据包括ElasticSearch在第二分页数据之后查询的至少一个分页数据。本发明专利技术实施例能够实现ElasticSearch深度分页查询功能。

【技术实现步骤摘要】

本专利技术属于大数据分析,具体涉及一种elasticsearch深度分页查询方法、装置和电子设备。


技术介绍

1、在相关技术中,在对弹性搜索(elasticsearch,es)进行分页查询的过程中,深度分页阈值可为10000,分页参数通过计算起点值(from)和规模(size)的和得到,其中,from表示从第几行开始,size表示查询多少条文档;当from+size大于10000时,会因深度分页而造成es报错。


技术实现思路

1、本专利技术的目的是提供一种elasticsearch深度分页查询方法、装置和电子设备,通过在elasticsearch与查询服务的客户端或子系统之间增加中间层,以使elasticsearch能够主动向中间层进行分批次地数据推送,以克服elasticsearch深度分页查询的问题,以克服elasticsearch深度分页查询的问题,或者,通过预加载机制、search after与客户端缓存结合的方式,对超出深度分页阈值的分页数据进行预先加载和缓存,以实现elasticsearch深度分页查询功能。

2、为了解决上述技术问题,本专利技术是这样实现的:

3、第一方面,本专利技术提供了一种elasticsearch深度分页查询方法,该方法包括:

4、基于elasticsearch执行第一操作和第二操作中的至少一项;

5、所述第一操作包括:

6、根据预设推送策略分批次向第一数据库推送已被写入所述elasticsearch的分页数据,其中,所述第一数据库与第一业务类型关联,所述第一业务类型的业务用于从所述第一数据库中查询分页数据;

7、所述第二操作包括:

8、在所述elasticsearch接收到目标对象发送的第二数据查询请求的情况下,基于向后查询search after方式预先加载第一分页数据,并将所述第一分页数据存入所述目标对象,其中,所述第二数据查询请求用于请求在所述目标对象输出第二分页数据,所述第二分页数据为所述目标对象已获取的与分页临界值对应的分页数据,所述第一分页数据包括所述elasticsearch在所述第二分页数据之后查询的至少一个分页数据。

9、第二方面,本专利技术还提供了一种elasticsearch深度分页查询装置,该装置包括:

10、执行模块,用于基于elasticsearch执行第一操作和第二操作中的至少一项;

11、所述第一操作包括:

12、根据预设推送策略分批次向第一数据库推送已被写入所述elasticsearch的分页数据,其中,所述第一数据库与第一业务类型关联,所述第一业务类型的业务用于从所述第一数据库中查询分页数据;

13、所述第二操作包括:

14、在所述elasticsearch接收到目标对象发送的第二数据查询请求的情况下,基于向后查询search after方式预先加载第一分页数据,并将所述第一分页数据存入所述目标对象,其中,所述第二数据查询请求用于请求在所述目标对象输出第二分页数据,所述第二分页数据为所述目标对象已获取的与分页临界值对应的分页数据,所述第一分页数据包括所述elasticsearch在所述第二分页数据之后查询的至少一个分页数据。

15、第三方面,本专利技术还提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。

16、第四方面,本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。

17、在本专利技术实施例的一种实施方式中,通过elasticsearch将已被写入所述elasticsearch的分页数据分批次的主动推送至第一数据库,可以使该第一数据库关联的第一业务类型的业务能够从第一数据库中查询所需数据;此时,elasticsearch对分页数据进行分批次推送,能够使elasticsearch降低每一次查询并推送的分页数据的数据量,如每次查询并推送的分页数据小于深度分页阈值,从而能够避免根据用户的数据查询请求,一次性反馈超出深度分页阈值的分页数据而造成深度分页问题;

18、在本专利技术实施例的另一种实施方式中,当目标对象获取了与分页临界值对应的第二分页数据后,若目标对象输出该第二分页数据,如需要在目标对象的显示屏上显示第二分页数据,则可以采用search after方式预先加载elasticsearch在第二分页数据之后查询的且大于或等于深度分页阈值的第一分页数据,并将其存储在目标对象中,这样,目标对象后续可以从存储空间中获取大于或等于分页阈值的第一分页数据,实现了深度分页数据的查询和反馈方法。

本文档来自技高网...

【技术保护点】

1.一种ElasticSearch深度分页查询方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述预设推送策略包括以下至少一项:

3.根据权利要求2所述的方法,其特征在于,所述根据预设推送策略分批次向第一数据库推送已被写入所述ElasticSearch的分页数据,包括:

4.根据权利要求1所述的方法,其特征在于,在所述ElasticSearch接收到第二数据查询请求的情况下,基于search after方式预先加载第一分页数据之前,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述基于ElasticSearch执行第一操作和第二操作中的至少一项,包括:

6.一种ElasticSearch深度分页查询装置,其特征在于,包括:

7.根据权利要求6所述的装置,其特征在于,所述预设推送策略包括以下至少一项:

8.根据权利要求7所述的装置,其特征在于,所述执行模块,包括:

9.根据权利要求6所述的装置,其特征在于,所述装置还包括:

10.根据权利要求6所述的装置,其特征在于,所述执行模块,包括:

11.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的ElasticSearch深度分页查询方法中的步骤。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的ElasticSearch深度分页查询方法中的步骤。

...

【技术特征摘要】

1.一种elasticsearch深度分页查询方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述预设推送策略包括以下至少一项:

3.根据权利要求2所述的方法,其特征在于,所述根据预设推送策略分批次向第一数据库推送已被写入所述elasticsearch的分页数据,包括:

4.根据权利要求1所述的方法,其特征在于,在所述elasticsearch接收到第二数据查询请求的情况下,基于search after方式预先加载第一分页数据之前,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述基于elasticsearch执行第一操作和第二操作中的至少一项,包括:

6.一种elasticsearch深度分页查询装置,其特征在于,包括:

7.根据...

【专利技术属性】
技术研发人员:姚鑫
申请(专利权)人:中移苏州软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1