CN106126731B - 一种获取Elasticsearch分页数据的方法及装置 - Google Patents
一种获取Elasticsearch分页数据的方法及装置 Download PDFInfo
- Publication number
- CN106126731B CN106126731B CN201610515965.3A CN201610515965A CN106126731B CN 106126731 B CN106126731 B CN 106126731B CN 201610515965 A CN201610515965 A CN 201610515965A CN 106126731 B CN106126731 B CN 106126731B
- Authority
- CN
- China
- Prior art keywords
- data
- display request
- elasticissearch
- unique identifier
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Abstract
本发明公开了一种获取Elasticsearch分页数据的方法及装置,属于软件开发技术,解决现有Elasticsearch分页功能不能满足页面分页显示数据的问题。包括根据接收到的页面分页显示请求,获取页面分页显示请求中包含的会话标识和请求参数,将会话标识和请求参数转换为唯一字符串,确定为页面分页显示请求的唯一标识;若检索缓冲区中包含页面分页显示请求的唯一标识,则根据页面分页显示请求的唯一标识,从检索缓存区中获取与所述页面分页显示请求对应的Elasticsearch数据唯一标识;以获取的Elasticsearch数据唯一标识作为参数向Elasticsearch发送数据检索请求,将Elasticsearch返回的数据确定为页面分页显示请求对应的返回数据。
Description
技术领域
本发明属于软件开发技术领域,更具体的涉及一种获取Elasticsearch分页数据的方法及装置。
背景技术
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是目前最流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
现有的Elasticsearch实现分页功能主要有以下方式:第一种:使用From、Size指定起始位置,获取指定分页的数据;第二种:使用Scroll时间轴滚动API遍历数据的方式;以上两种方式中,第一种方式默认From+Size情况值为10000,可以通过修改参数将10000调大,但是调大以后进行分页,占用大量内存,检索效率严重下降;调大到多少无法提前预知,在获取超过调整后大小的页面数据时无法正常获取数据;第二种方式只能依次向后移动,无法向前移动数据集,无法指定显示第几页数据,局限性很大。
综上所述,现有的Elasticsearch分页功能存在不能满足实际分页检索需求的问题。
发明内容
本发明实施例提供一种获取Elasticsearch分页数据的方法及装置,用于解决现有的Elasticsearch分页功能存在不能满足分页检索需求的问题。
本发明实施例提供一种获取Elasticsearch分页数据的方法,包括:
根据接收到的页面分页显示请求,获取所述页面分页显示请求中包含的会话标识和请求参数,将所述会话标识和所述请求参数转换为唯一字符串,将所述唯一字符串确定为所述页面分页显示请求的唯一标识;
若检索缓冲区中包含所述页面分页显示请求的所述唯一标识,则根据所述唯一标识,从所述检索缓存区中获取与所述页面分页显示请求对应的Elasticsearch数据唯一标识;
以获取的所述Elasticsearch数据唯一标识作为参数向Elasticsearch发送数据检索请求,将所述Elasticsearch返回的数据确定为所述页面分页显示请求对应的返回数据。
优选地,还包括:
若所述检索缓冲区内不存在所述页面分页显示请求的唯一标识,则开启一个后台线程,使用Elasticsearch的Scroll时间轴滚动API的方法,将符合页面分页显示请求的所有Elasticsearch的数据唯一标识,保存到检索缓冲区中。
本发明实施例还提供一种获取Elasticsearch分页数据的装置,包括:
第一确定单元,用于根据接收到的页面分页显示请求,获取所述页面分页显示请求中包含的会话标识和请求参数,将所述会话标识和所述请求参数转换为唯一字符串,将所述唯一字符串确定为所述页面分页显示请求的唯一标识;
第二确定单元,用于若检索缓冲区中包含所述页面分页显示请求的所述唯一标识,则根据所述唯一标识,从所述检索缓冲区中获取与所述页面分页显示请求对应的Elasticsearch数据唯一标识;
第三确定单元,用于以获取的所述Elasticsearch数据唯一标识作为参数向Elasticsearch发送数据检索请求,将所述Elasticsearch返回的数据确定为所述页面分页显示请求对应的返回数据。
优选地,所述第二确定单元还用于:
若所述检索缓冲区内不存在所述页面分页显示请求的唯一标识,则开启一个后台线程,使用Elasticsearch的Scroll时间轴滚动API的方法,将符合页面分页显示请求的所有Elasticsearch的数据唯一标识,保存到检索缓冲区中。
本发明实施例中,提供一种获取Elasticsearch分页数据的方法及装置,包括根据接收到的页面分页显示请求,获取页面分页显示请求中包含的会话标识和请求参数,将会话标识和请求参数转换为唯一字符串,确定为页面分页显示请求的唯一标识;若检索缓冲区中包含页面分页显示请求的唯一标识,则根据页面分页显示请求的唯一标识,从检索缓存区中获取与所述页面分页显示请求对应的Elasticsearch数据唯一标识;以获取的Elasticsearch数据唯一标识作为参数向Elasticsearch发送数据检索请求,将Elasticsearch返回的数据确定为页面分页显示请求对应的返回数据。在本发明实施例中,采用一种通用的分页方法,可以满足通用分页检索的需要,支持完成移动到第一页、移动到最后一页、向前移动一页、向后移动一页、移动到指定页的操作。从而解决了现有Elasticsearch分页功能存在不能满足分页检索需求的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种获取Elasticsearch分页数据的方法流程示意图;
图2为本发明实施例提供的一种获取Elasticsearch分页数据的装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提供的一种获取Elasticsearch分页数据的方法流程示意图,该方法至少可以应用于软件开发技术。
如图1所示,本发明实施例提供的一种获取Elasticsearch分页数据的方法,包括以下步骤:
步骤101,根据接收到的页面分页显示请求,获取所述页面分页显示请求中包含的会话标识和请求参数,将所述会话标识和所述请求参数转换为唯一字符串,将所述唯一字符串确定为所述页面分页显示请求的唯一标识;
步骤102,若检索缓冲区中包含所述页面分页显示请求的所述唯一标识,则根据所述唯一标识,从所述检索缓存区中获取与所述页面分页显示请求对应的Elasticsearch数据唯一标识;
步骤103,以获取的所述Elasticsearch数据唯一标识作为参数向Elasticsearch发送数据检索请求,将所述Elasticsearch返回的数据确定为所述页面分页显示请求对应的返回数据。
需要说明的是,在本发明实施例中,执行主体为服务器。
在步骤101中,服务器接收到页面分页显示请求,根据接收到的页面分页显示请求,获取页面分页显示请求中包含的会话标识和请求参数,将会话标识和请求参数转换为唯一字符串,确定为页面分页显示请求的唯一标识。
需要说明的是,在本发明实施例中,获取页面分页显示请求所携带的请求参数,不包括分页开始位置、分页大小参数。
在步骤102中,若检索缓冲区中包含页面分页显示请求的唯一标识,则根据页面分页显示请求的唯一标识,从检索缓存区中获取与所述页面分页显示请求对应的Elasticsearch数据唯一标识。
需要说明的是,检索缓冲区至少可以包括以下实现方式:1)以文件形式存储在物理硬盘的固定位置;2)采用采用自定义数据结构保存在内存中;3)采用Redis等内存数据库进行存储。在本发明实施例中,对检索缓冲区的实现方法不做具体的限定。
在步骤103中,将步骤102中获取的Elasticsearch数据唯一标识作为参数向Elasticsearch发送数据检索请求,将Elasticsearch返回的数据确定为页面分页显示请求对应的返回数据。
需要说明的是,在本发明实施例步骤102中,还存在一种情况,具体为:若所述检索缓冲区内不存在所述页面分页显示请求的唯一标识,则开启一个后台线程,使用Elasticsearch的Scroll时间轴滚动API的方法,将符合页面分页显示请求的所有Elasticsearch的数据唯一标识,保存到检索缓冲区中。
综上所述,本发明实施例提供了一种获取Elasticsearch分页数据的方法,包括根据接收到的页面分页显示请求,获取页面分页显示请求中包含的会话标识和请求参数,将会话标识和请求参数转换为唯一字符串,确定为页面分页显示请求的唯一标识;若检索缓冲区中包含页面分页显示请求的唯一标识,则根据页面分页显示请求的唯一标识,从检索缓存区中获取与所述页面分页显示请求对应的Elasticsearch数据唯一标识;以获取的Elasticsearch数据唯一标识作为参数向Elasticsearch发送数据检索请求,将Elasticsearch返回的数据确定为页面分页显示请求对应的返回数据。在本发明实施例中,采用一种通用的分页方法,可以满足通用分页检索的需要,支持完成移动到第一页、移动到最后一页、向前移动一页、向后移动一页、移动到指定页的操作。从而解决了现有Elasticsearch分页功能存在不能满足分页检索需求的问题。
基于同一发明构思,本发明实施例提供了一种获取Elasticsearch分页数据的装置,由于该装置解决技术问题的原理与一种获取Elasticsearch分页数据的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
图2为本发明实施例提供的一种获取Elasticsearch分页数据的装置结构示意图。如图2所述,该装置具体包括:第一确定单元20,第二确定单元21,和第三确定单元23。
第一确定单元20,用于根据接收到的页面分页显示请求,获取所述页面分页显示请求中包含的会话标识和请求参数,将所述会话标识和所述请求参数转换为唯一字符串,将所述唯一字符串确定为所述页面分页显示请求的唯一标识;
第二确定单元21,用于若检索缓冲区中包含所述页面分页显示请求的所述唯一标识,则根据所述唯一标识,从所述检索缓冲区中获取与所述页面分页显示请求对应的Elasticsearch数据唯一标识;
第三确定单元22,用于以获取的所述Elasticsearch数据唯一标识作为参数向Elasticsearch发送数据检索请求,将所述Elasticsearch返回的数据确定为所述页面分页显示请求对应的返回数据。
进一步地,所述第二确定单元21还用于:
若所述检索缓冲区内不存在所述页面分页显示请求的唯一标识,则开启一个后台线程,使用Elasticsearch的Scroll时间轴滚动API的方法,将符合页面分页显示请求的所有Elasticsearch的数据唯一标识,保存到检索缓冲区中。
应当理解,以上一种获取Elasticsearch分页数据的装置包括的单元仅为根据该设备装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种获取Elasticsearch分页数据的装置所实现的功能与上述实施例提供的一种获取Elasticsearch分页数据的方法一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例一中已做详细描述,此处不再详细描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (2)
1.一种获取Elasticsearch分页数据的方法,其特征在于,包括:
根据接收到的页面分页显示请求,获取所述页面分页显示请求中包含的会话标识和请求参数,将所述会话标识和所述请求参数转换为唯一字符串,将所述唯一字符串确定为所述页面分页显示请求的唯一标识;
若检索缓冲区中包含所述页面分页显示请求的所述唯一标识,则根据所述唯一标识,从所述检索缓冲区中获取与所述页面分页显示请求对应的Elasticsearch数据唯一标识;
以获取的所述Elasticsearch数据唯一标识作为参数向Elasticsearch发送数据检索请求,将所述Elasticsearch返回的数据确定为所述页面分页显示请求对应的返回数据;
若所述检索缓冲区内不存在所述页面分页显示请求的唯一标识,则开启一个后台线程,使用Elasticsearch的Scroll时间轴滚动API的方法,将符合页面分页显示请求的所有Elasticsearch的数据唯一标识,保存到检索缓冲区中。
2.一种获取Elasticsearch分页数据的装置,其特征在于,包括:
第一确定单元,用于根据接收到的页面分页显示请求,获取所述页面分页显示请求中包含的会话标识和请求参数,将所述会话标识和所述请求参数转换为唯一字符串,将所述唯一字符串确定为所述页面分页显示请求的唯一标识;
第二确定单元,用于若检索缓冲区中包含所述页面分页显示请求的所述唯一标识,则根据所述唯一标识,从所述检索缓冲区中获取与所述页面分页显示请求对应的Elasticsearch数据唯一标识;
第三确定单元,用于以获取的所述Elasticsearch数据唯一标识作为参数向Elasticsearch发送数据检索请求,将所述Elasticsearch返回的数据确定为所述页面分页显示请求对应的返回数据;
所述第二确定单元还用于:
若所述检索缓冲区内不存在所述页面分页显示请求的唯一标识,则开启一个后台线程,使用Elasticsearch的Scroll时间轴滚动API的方法,将符合页面分页显示请求的所有Elasticsearch的数据唯一标识,保存到检索缓冲区中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610515965.3A CN106126731B (zh) | 2016-07-01 | 2016-07-01 | 一种获取Elasticsearch分页数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610515965.3A CN106126731B (zh) | 2016-07-01 | 2016-07-01 | 一种获取Elasticsearch分页数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106126731A CN106126731A (zh) | 2016-11-16 |
CN106126731B true CN106126731B (zh) | 2020-02-14 |
Family
ID=57469264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610515965.3A Active CN106126731B (zh) | 2016-07-01 | 2016-07-01 | 一种获取Elasticsearch分页数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126731B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341217B (zh) * | 2017-06-27 | 2020-02-07 | 武汉斗鱼网络科技有限公司 | 一种数据获取方法及设备 |
CN107330057B (zh) * | 2017-06-29 | 2020-08-07 | 哈尔滨工程大学科技园发展有限公司 | 一种ElasticSearch搜索相关度算法优化方法及系统 |
CN109241494A (zh) * | 2018-08-07 | 2019-01-18 | 平安科技(深圳)有限公司 | 分页处理方法、系统、计算机设备和存储介质 |
CN109492148B (zh) * | 2018-11-22 | 2020-07-24 | 北京明朝万达科技股份有限公司 | 基于Redis的ElasticSearch分页查询方法和设备 |
CN111680063B (zh) * | 2020-05-25 | 2023-08-18 | 泰康保险集团股份有限公司 | Elasticsearch分页查询数据的方法及装置 |
CN112364280A (zh) * | 2020-10-27 | 2021-02-12 | 深圳开源互联网安全技术有限公司 | 分页查询动态适配方法及系统、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617232A (zh) * | 2013-11-26 | 2014-03-05 | 北京京东尚科信息技术有限公司 | 一种针对HBase表的分页查询方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103390007A (zh) * | 2012-05-11 | 2013-11-13 | 阿里巴巴集团控股有限公司 | 数据获取方法和装置 |
US20140274091A1 (en) * | 2013-03-14 | 2014-09-18 | Qualcomm Incorporated | Paging for flexible bandwidth carrier systems |
CN105045932B (zh) * | 2015-09-02 | 2018-11-13 | 南京邮电大学 | 一种基于降序存储的数据分页查询方法 |
-
2016
- 2016-07-01 CN CN201610515965.3A patent/CN106126731B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617232A (zh) * | 2013-11-26 | 2014-03-05 | 北京京东尚科信息技术有限公司 | 一种针对HBase表的分页查询方法 |
Non-Patent Citations (1)
Title |
---|
Elasticsearch——分页查询From&Size VS scroll;http://www.cnblogs.com/xing901022;《http://www.cnblogs.com/xing901022》;20160316;1-6 * |
Also Published As
Publication number | Publication date |
---|---|
CN106126731A (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106126731B (zh) | 一种获取Elasticsearch分页数据的方法及装置 | |
US11455217B2 (en) | Transaction consistency query support for replicated data from recovery log to external data stores | |
US9665404B2 (en) | Optimization of map-reduce shuffle performance through shuffler I/O pipeline actions and planning | |
EP3113043A1 (en) | Method, device and host for updating metadata stored in columns in distributed file system | |
US8468146B2 (en) | System and method for creating search index on cloud database | |
WO2017185616A1 (zh) | 文件存储方法及电子设备 | |
CN111190718A (zh) | 实现任务调度的方法、装置及系统 | |
WO2017166630A1 (zh) | 一种任务优先级修正方法和装置 | |
CN105843819B (zh) | 一种数据导出方法及装置 | |
US10754825B2 (en) | Path resolver for client access to distributed file systems | |
CN105653372A (zh) | 基于云平台实现多虚拟化混合管理与调度的方法 | |
CN105630810B (zh) | 一种对于海量小文件在分布式存储系统中上载的方法 | |
JP6903755B2 (ja) | データ統合ジョブ変換 | |
CN108694188B (zh) | 一种索引数据更新的方法以及相关装置 | |
US8352541B2 (en) | Identifying relevant data from unstructured feeds | |
CN105700956A (zh) | 用于处理分布式作业的方法和系统 | |
CN103699656A (zh) | 一种基于GPU的面向海量多媒体数据的MapReduce平台 | |
WO2020211717A1 (zh) | 一种数据处理方法、装置及设备 | |
CN104035822A (zh) | 一种低开销的高效内存去冗余方法及系统 | |
CN111723161A (zh) | 一种数据处理方法、装置及设备 | |
CN110781159B (zh) | Ceph目录文件信息读取方法、装置、服务器及存储介质 | |
CN111767320A (zh) | 数据血缘关系确定方法及装置 | |
CN107315652B (zh) | 一种数据备份方法及云hdfs系统 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |