CN112579633A - 一种数据检索方法、装置、设备及存储介质 - Google Patents
一种数据检索方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112579633A CN112579633A CN201910938751.0A CN201910938751A CN112579633A CN 112579633 A CN112579633 A CN 112579633A CN 201910938751 A CN201910938751 A CN 201910938751A CN 112579633 A CN112579633 A CN 112579633A
- Authority
- CN
- China
- Prior art keywords
- service data
- data
- stored
- hbase database
- query
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据检索方法、装置、设备及存储介质,获取查询请求,查询请求中携带有查询条件,基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,目标业务数据ID与查询条件相匹配,基于目标业务数据ID查询HBase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。结合Elasticsearch搜索引擎全文索引功能和Hbase数据库的存储功能,实现了减少业务数据反馈的时间的目的。
Description
技术领域
本发明属于信息检索技术领域,具体为涉及一种数据检索方法、装置、设备及存储介质。
背景技术
随着现代社会科技的进步,在IT***中全文搜索已成为一个常见的搜索信息的技术手段。其中,目前常见的全文搜索引擎有Elasticsearch搜索引擎,通过在该Elasticsearch搜索引擎,能够让用户查询到相关业务数据。
基于Elasticsearch搜索引擎,查询业务数据,如果该Elasticsearch搜索引擎需要反馈大量的业务数据时,就需要花费大量的时间搜索相关业务数据,导致反馈业务数据的时间较长。
发明内容
有鉴于此,本发明的目的在于提供一种数据检索方法、装置、设备及存储介质,用于解决Elasticsearch搜索引擎需要反馈大量的业务数据时,就需要花费大量的时间搜索相关业务数据,导致反馈业务数据的时间较长的问题。
技术方案如下:
本发明实施例第一方面提供了一种数据检索方法,所述方法包括:
获取查询请求,所述查询请求中携带有查询条件;
基于所述查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,所述目标业务数据ID与所述查询条件相匹配;
基于所述目标业务数据ID查询HBase数据库中预先存储的业务数据,获取所述目标业务数据ID对应的目标业务数据。
优选的,通过以下方法为业务数据ID建立索引:
获取业务数据,并确定所述业务数据对应的业务数据ID;
基于所述业务数据ID,在所述Elasticsearch搜索引擎中,建立对应所述业务数据ID的索引。
优选的,通过以下方法将业务数据存储至所述Hbase数据库:
查询所述HBase数据库中是否存在待存储的业务数据;
若存在,将已存在的业务数据替换为所述待存储的业务数据,基于所述待存储的业务数据的业务数据ID在所述Elasticsearch搜索引擎中建立最新索引,并基于所述待存储的业务数据的业务数据ID,确定所述Elasticsearch搜索引擎中对应所述业务数据ID的历史索引,并删除所述历史索引;
若不存在,在所述Elasticsearch搜索引擎中建立所述业务数据ID对应的索引,并基于所述业务数据ID将所述待存储的业务数据存储于所述Hbase数据库。
优选的,所述Elasticsearch搜索引擎中的业务数据ID按照预设时间段存储在对应的索引表中,所述基于所述业务数据ID,在所述Elasticsearch搜索引擎中,建立对应所述业务数据ID的索引,包括:
确定所述业务数据ID对应的预设时间段;
在所述Elasticsearch搜索引擎中,建立所述业务数据ID对应的索引表,并将位于同一预设时间段的业务数据ID存储在同一索引表中,其中,所述预设时间段为:小时、天、周、月和年中的至少一种。
优选的,还包括:
获取待写入HBase数据库的新业务数据和所述新业务数据的优先级;
将所述新业务数据存储于所述HBase数据库,并基于所述新业务数据的业务数据ID在所述Elasticsearch搜索引擎中建立最新索引;
确定优先级低于所述新业务数据优先级的历史业务数据,并删除所述Elasticsearch搜索引擎中与所述历史业务数据的业务数据ID对应的索引。
本发明实施例第二方面提供了一种数据检索装置,所述装置包括:
第一获取模块,用于获取查询请求,所述查询请求中携带有查询条件;
查询模块,用于基于所述查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,所述目标业务数据ID与所述查询条件相匹配;
第二获取模块,用于基于所述目标业务数据ID查询HBase数据库中预先存储的业务数据,获取所述目标业务数据ID对应的目标业务数据。
优选的,还包括:预建模块;
所述预建模块,用于获取业务数据,并确定所述业务数据对应的业务数据ID,基于所述业务数据ID,在所述Elasticsearch搜索引擎中,建立对应所述业务数据ID的索引。
优选的,还包括:存储模块;
所述存储模块包括:
查询单元,用于查询所述HBase数据库中是否存在待存储的业务数据;
处理单元,用于所述HBase数据库中存在所述待存储的业务数据时,将已存在的业务数据替换为所述待存储的业务数据,基于所述待存储的业务数据的业务数据ID在所述Elasticsearch搜索引擎中建立最新索引,并基于所述待存储的业务数据的业务数据ID,确定所述Elasticsearch搜索引擎中对应所述业务数据ID的历史索引,并删除所述历史索引,以及若所述HBase数据库中不存在所述待存储的业务数据时,在所述Elasticsearch搜索引擎中建立所述业务数据ID对应的索引,并基于所述业务数据ID将所述待存储的业务数据存储于所述Hbase数据库。
本发明实施例第三方面提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述本发明实施例第一方面提供的所述数据检索方法。
本发明实施例第四方面提供了一种数据检索设备,包括处理器和存储器,所述存储器中存储有程序,所述处理器用于运行所述程序,其中,所述程序运行时执行上述本发明实施例第一方面提供的所述数据检索方法。
与现有技术相比,本发明提供的上述技术方案具有如下优点:
获取查询请求,查询请求中携带有查询条件,基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,目标业务数据ID与查询条件相匹配,基于目标业务数据ID查询HBase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。结合Elasticsearch搜索引擎全文索引功能和Hbase数据库的存储功能,实现了减少业务数据反馈的时间的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据检索方法的流程图;
图2是本发明实施例提供的一种业务数据ID建立索引的流程图;
图3是本发明实施例提供的一种基于业务数据的ID,在Elasticsearch搜索引擎中,建立对应业务数据ID的索引的流程图;
图4是本发明实施例提供的一种将业务数据存储至Hbase数据库的流程图;
图5是本发明实施例提供的另一种数据检索方法的流程图;
图6是本发明实施例提供的一种数据处理装置的结构示意图;
图7是本发明实施例提供的一种数据检索设备的结构示意图。
具体实施方式
本发明提供了一种数据检索方法、装置、设备及存储介质,用于解决Elasticsearch搜索引擎需要反馈大量的业务数据时,就需要花费大量的时间搜索相关业务数据,导致反馈业务数据的时间较长的问题。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,示出了本发明实施例提供的一种数据检索方法,该方法包括以下步骤:
S101:获取查询请求。
在S101中,该查询请求中携带有查询条件,需要说明的是,查询条件至少包括待查询的内容,待查询的内容包括但不限于是关键字、关键词和关键语句。
例如:当需要查询包含有“海洋”的文档时,可以使用“海洋”作为关键词,查询与海洋相关的文档。
S102:基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID。
在S102中,目标业务数据ID和查询条件相匹配。
需要说明的是,基于查询条件,在Elasticsearch搜索引擎中可以获取到多个目标业务数据ID,并不仅限于一个目标业务数据ID。
若获取到多个目标业务数据ID时,可以将多个目标业务数据ID进行集合,得到目标业务数据ID集合。
在具体实现S102的过程中,基于预先建立的业务数据ID和业务数据之间的对应关系,可以查询到符合该查询条件的目标业务数据对应的目标业务数据ID。
需要说明的是,在Elasticsearch搜索引擎中只存储业务数据ID,而业务数据本身则存储于Hbase数据库中。
例如:查询条件为关键词,该关键词为“海洋”时,将“海洋”作为查询条件输入至Elasticsearch搜索引擎中进行查询,查询获得的结果为包含“海洋”的业务数据对应的业务数据ID,其中,业务数据是一篇文档,也可能是一堆文档,每篇文档对应不同的ID即业务数据ID。
其中,查询条件不同,在Elasticsearch搜索引擎中获得符合查询条件的业务数据对应的目标业务数据ID也不同。
例如:查询条件为关键词,关键词为“天空”时,将该关键词“天空”输入至Elasticsearch搜索引擎中,获得包含“天空”的业务数据对应的业务数据ID为1,而输入至Elasticsearch搜索引擎的关键词为“汽车”时,那么获得包含“汽车”的业务数据对应的业务数据ID为2。
进一步的,需要说明的是,如果输入至Elasticsearch搜索引擎的关键词为“天空”,获得包含“天空”的业务数据对应的业务数据ID为1,当业务数据ID为1的业务数据包含“汽车”这一关键词,则输入至Elasticsearch搜索引擎的关键词为“汽车”时,那么也会查询到ID为1的业务数据ID。
S103:基于目标业务数据ID查询Hbase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。
在具体实现S103的过程中,通过查询条件在Elasticsearch搜索引擎中进行查询获得目标业务数据ID,然后将目标业务数据ID在Hbase数据库中进行业务数据的查询,并获得该目标业务数据ID在Hbase数据库中的对应的目标业务数据。
需要说明的是,每一业务数据都具有业务数据ID。
根据上述本发明实施例公开的数据检索方法可知,获取查询请求,其中,查询请求中携带有查询条件,基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,目标业务数据ID与查询条件相匹配,基于目标业务数据ID查询HBase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。结合Elasticsearch搜索引擎全文索引功能和Hbase数据库的存储功能,实现了减少业务数据反馈的时间的目的。
基于上述本发明实施例图1公开的数据检索方法涉及到的,为业务数据ID建立索引的具体实现过程,如图2所示,主要包括:
S201:获取业务数据,并确定业务数据对应的业务数据ID。
在具体实现S201的过程中,对获得的所有业务数据,分别分配一个业务数据ID,使得业务数据与该业务数据ID成一一对应的关系。
例如:获取的业务数据是3个文档,分别是甲文档、乙文档和丙文档,然后给甲文档分配一个为1的业务数据ID、给乙文档分配一个为2的业务数据ID和丙文档分配一个为3的业务数据ID,使得每个文档都有一个一一对应的业务数据ID。
需要说明的是,分配怎样的业务数据ID给业务数据,可根据实际情况进行设定,这里不在进行赘述。
S202:基于业务数据的ID,在Elasticsearch搜索引擎中,建立对应业务数据ID的索引。
在具体实现S202的过程中,在Elasticsearch搜索引擎中建立每个业务数据ID对应的索引。
需要说明的是,在Elasticsearch搜索引擎中只存储业务数据ID,基于查询条件,首先在Elasticsearch搜索引擎中获得是与查询条件对应的索引,然后再根据该索引获得对应的业务数据ID。
需要说明的是,基于业务数据的ID,在Elasticsearch搜索引擎中,建立对应业务数据ID的索引的具体实现过程,如图3所示,主要包括:
S301:确定业务数据ID对应的预设时间段。
在具体实现S301的过程中,通过获得业务数据后,然后给每一业务数据分配一一对应的业务数据ID,并确定每一业务数据分配业务数据ID时的时间点是否在预设时间段内,然后Elasticsearch搜索引擎中的业务数据ID可按照预设时间段存储在对应的索引表中,
需要说明的是,每个预设时间段对应一个索引表。
S302:在Elasticsearch搜索引擎中,建立业务数据ID对应的索引表,并将位于同一预设时间段的业务数据ID存储在同一索引表中。
在S302中,预设时间段包括但不限于为小时、天、周、月和年,具体的预设时间段可根据实际情况进行设定,这里不再进行赘述。
根据上述本发明实施例公开的数据检索方法可知,获取查询请求,其中,查询请求中携带有查询条件,基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,目标业务数据ID与查询条件相匹配,基于目标业务数据ID查询HBase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。结合Elasticsearch搜索引擎全文索引功能和Hbase数据库的存储功能,实现了减少业务数据反馈的时间的目的。
基于上述本发明实施例图1公开的数据检索方法涉及到的,将业务数据存储至Hbase数据库的具体实现过程,如图4所示,主要包括:
S401:查询Hbase数据库中是否存在待存储的业务数据,若是,则执行S402,若否,则执行S403。
在具体实现S401的过程中,将获取的业务数据ID对应的业务数据,与Hbase数据库中的业务数据进行比对,判断Hbase数据库中是否存在获取的业务数据ID对应的业务数据,若Hbase数据库中存在获取的业务数据ID对应的待存储的业务数据,则执行S402,若Hbase数据库中不存在获取的业务数据ID对应的待存储的业务数据,则执行S403。
S402:将已存在的业务数据替换为待存储的业务数据,基于待存储的业务数据的业务数据ID在Elasticsearch搜索引擎中建立最新索引,并基于待存储的业务数据的业务数据ID,确定Elasticsearch搜索引擎中对应业务数据ID的历史索引,并删除历史索引。
在具体实现S402的过程中,若Hbase数据库中存在获取的业务数据ID对应的待存储的业务数据,将已存在Hbase数据库中的业务数据替换为待存储的业务数据,并将待存储的业务数据存储于Hbase数据库。然后将Elasticsearch搜索引擎中已存在的业务数据对应的业务数据ID对应的历史索引进行删除,通过删除已存在的业务数据的业务数据ID对应的历史索引,减少数据在Elasticsearch搜索引擎中的占用空间。
S403:在Elasticsearch搜索引擎中建立业务数据ID对应的索引,并基于业务数据ID将待存储的业务数据存储于Hbase数据库。
在具体实现S403的过程中,若Hbase数据库中不存在获取的业务数据ID对应的待存储的业务数据,首先在Elasticsearch搜索引擎中建立业务数据ID对应的索引,然后将待存储的业务数据,以及待存储的业务数据对应的业务数据ID的对应关系存储于Hbase数据库。
根据上述本发明实施例公开的数据检索方法可知,获取查询请求,其中,查询请求中携带有查询条件,基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,目标业务数据ID与查询条件相匹配,基于目标业务数据ID查询HBase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。结合Elasticsearch搜索引擎全文索引功能和Hbase数据库的存储功能,实现了减少业务数据反馈的时间的目的。
如图5所示,示出了本发明实施例提供的另一种数据检索方法,在图1的基础上,还包括:
S501:获取查询请求。
S502:基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID。
S503:基于目标业务数据ID查询Hbase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。
S501至S503的执行原理和上述S101至S103的一致,这里不再进行赘述。
S504:获取待写入HBase数据库的新业务数据和新业务数据的优先级。
在对HBase数据库中的业务数据进行更新的过程中,也就是说,原来的业务数据中某一字段有覆盖的需求。以数字表示新业务数据的优先级,基于HBase数据库的特性,在执行S504的过程中,可以将获取到的待写入的新业务数据和新业务数据的优先级,一并写入HBase数据库。
基于HBase数据库的特性,可以将更新前的业务数据和更新后的业务数据以不同版本的方式同时存储,具体可以通过优先级的数字表示不同版本,在存储的过程中,也根据优先级对不同版本的业务数据进行存储,其中,数字越大,表示优先级越高。
S505:将新业务数据存储于HBase数据库,并基于新业务数据的业务数据ID在Elasticsearch搜索引擎中建立最新索引。
S506:确定优先级低于新业务数据优先级的历史业务数据,并删除Elasticsearch搜索引擎中与历史业务数据的业务数据ID对应的索引。
根据上述本发明实施例公开的数据检索方法可知,获取查询请求,其中,查询请求中携带有查询条件,基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,目标业务数据ID与查询条件相匹配,基于目标业务数据ID查询HBase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。结合Elasticsearch搜索引擎全文索引功能和Hbase数据库的存储功能,实现了减少业务数据反馈的时间的目的。
基于上述本发明实施例公开的数据检索方法,本发明实施例还对应公开一种数据检索装置,如图6所示,为本发明实施例提供的一种数据处理装置的结构示意图,包括:第一获取模块60、查询模块61和第二获取模块62。
第一获取模块60,用于获取查询请求,查询请求中携带有查询条件。
查询模块61,用于基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,目标业务数据ID与查询条件相匹配。
第二获取模块62,用于基于目标业务数据ID查询HBase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。
根据上述本发明实施例公开的数据检索装置可知,获取查询请求,其中,查询请求中携带有查询条件,基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,目标业务数据ID与查询条件相匹配,基于目标业务数据ID查询HBase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。结合Elasticsearch搜索引擎全文索引功能和Hbase数据库的存储功能,实现了减少业务数据反馈的时间的目的。
基于上述本发明实施例公开的数据检索装置,该数据检索装置还包括:预建模块。
预建模块,用于获取业务数据,并确定业务数据对应的业务数据ID,基于业务数据的ID,在Elasticsearch搜索引擎中,建立对应业务数据ID的索引。
基于上述本发明实施例公开的数据检索装置,该数据检索装置还包括:存储模块,该存储模块的一种可选结构为:存储模块包括查询单元和处理单元。
查询单元,用于查询HBase数据库中是否存在待存储的业务数据。
处理单元,用于HBase数据库中存在待存储的业务数据时,将已存在的业务数据替换为待存储的业务数据,基于待存储的业务数据的业务数据ID在Elasticsearch搜索引擎中建立最新索引,并基于待存储的业务数据的业务数据ID,确定Elasticsearch搜索引擎中对应业务数据ID的历史索引,并删除历史索引,以及若HBase数据库中不存在待存储的业务数据时,在Elasticsearch搜索引擎中建立业务数据ID对应的索引,并基于业务数据ID将待存储的业务数据存储于Hbase数据库。
根据上述本发明实施例公开的数据检索装置可知,获取查询请求,其中,查询请求中携带有查询条件,基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,目标业务数据ID与查询条件相匹配,基于目标业务数据ID查询HBase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。结合Elasticsearch搜索引擎全文索引功能和Hbase数据库的存储功能,实现了减少业务数据反馈的时间的目的。
基于上述本发明实施例公开的数据检索装置,上述各个模块和单元可以通过一种由处理器和存储器构成的硬件设备实现。具体为:上述各个模块和单元作为程序单元存储于存储器中,由处理器执行存储在存储器中的上述程序单元来实现数据检索。
其中,处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现数据检索。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现数据处理。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行图1至图5任意一项数据检索方法。
本发明实施例提供了一种数据检索设备70,如图7所示,示出了本发明实施例提供的一种数据检索设备70的结构示意图。
本发明实施例中的数据处理设备可以是服务器、PC、PAD、手机等。
该数据处理设备包括至少一个处理器701,以及与处理器连接的至少一个存储器702,以及总线703。
处理器701、存储器702通过总线703完成相互间的通信。处理器701,用于执行存储器702中存储的程序。
存储器702,用于存储程序,该程序至少用于:获取查询请求,查询请求中携带有查询条件;基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,目标业务数据ID与查询条件相匹配;基于目标业务数据ID查询HBase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。
本申请还提供了一种计算机程序产品,当在数据检索设备上执行时,适于执行初始化有如下方法步骤的程序:
获取查询请求,查询请求中携带有查询条件;基于查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,目标业务数据ID与查询条件相匹配;基于目标业务数据ID查询HBase数据库中预先存储的业务数据,获取目标业务数据ID对应的目标业务数据。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据检索方法,其特征在于,所述方法包括:
获取查询请求,所述查询请求中携带有查询条件;
基于所述查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,所述目标业务数据ID与所述查询条件相匹配;
基于所述目标业务数据ID查询HBase数据库中预先存储的业务数据,获取所述目标业务数据ID对应的目标业务数据。
2.根据权利要求1所述的方法,其特征在于,通过以下方法为业务数据ID建立索引:
获取业务数据,并确定所述业务数据对应的业务数据ID;
基于所述业务数据ID,在所述Elasticsearch搜索引擎中,建立对应所述业务数据ID的索引。
3.根据权利要求1所述的方法,其特征在于,通过以下方法将业务数据存储至所述Hbase数据库:
查询所述HBase数据库中是否存在待存储的业务数据;
若存在,将已存在的业务数据替换为所述待存储的业务数据,基于所述待存储的业务数据的业务数据ID在所述Elasticsearch搜索引擎中建立最新索引,并基于所述待存储的业务数据的业务数据ID,确定所述Elasticsearch搜索引擎中对应所述业务数据ID的历史索引,并删除所述历史索引;
若不存在,在所述Elasticsearch搜索引擎中建立所述业务数据ID对应的索引,并基于所述业务数据ID将所述待存储的业务数据存储于所述Hbase数据库。
4.根据权利要求2所述的方法,其特征在于,所述Elasticsearch搜索引擎中的业务数据ID按照预设时间段存储在对应的索引表中,所述基于所述业务数据ID,在所述Elasticsearch搜索引擎中,建立对应所述业务数据ID的索引,包括:
确定所述业务数据ID对应的预设时间段;
在所述Elasticsearch搜索引擎中,建立所述业务数据ID对应的索引表,并将位于同一预设时间段的业务数据ID存储在同一索引表中,其中,所述预设时间段为:小时、天、周、月和年中的至少一种。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取待写入HBase数据库的新业务数据和所述新业务数据的优先级;
将所述新业务数据存储于所述HBase数据库,并基于所述新业务数据的业务数据ID在所述Elasticsearch搜索引擎中建立最新索引;
确定优先级低于所述新业务数据优先级的历史业务数据,并删除所述Elasticsearch搜索引擎中与所述历史业务数据的业务数据ID对应的索引。
6.一种数据检索装置,其特征在于,所述装置包括:
第一获取模块,用于获取查询请求,所述查询请求中携带有查询条件;
查询模块,用于基于所述查询条件,在Elasticsearch搜索引擎中查询预先建立的业务数据ID,并获取目标业务数据ID,所述目标业务数据ID与所述查询条件相匹配;
第二获取模块,用于基于所述目标业务数据ID查询HBase数据库中预先存储的业务数据,获取所述目标业务数据ID对应的目标业务数据。
7.根据权利要求6所述的装置,其特征在于,还包括:预建模块;
所述预建模块,用于获取业务数据,并确定所述业务数据对应的业务数据ID,基于所述业务数据ID,在所述Elasticsearch搜索引擎中,建立对应所述业务数据ID的索引。
8.根据权利要求6所述的装置,其特征在于,还包括:存储模块;
所述存储模块包括:
查询单元,用于查询所述HBase数据库中是否存在待存储的业务数据;
处理单元,用于所述HBase数据库中存在所述待存储的业务数据时,将已存在的业务数据替换为所述待存储的业务数据,基于所述待存储的业务数据的业务数据ID在所述Elasticsearch搜索引擎中建立最新索引,并基于所述待存储的业务数据的业务数据ID,确定所述Elasticsearch搜索引擎中对应所述业务数据ID的历史索引,并删除所述历史索引,以及若所述HBase数据库中不存在所述待存储的业务数据时,在所述Elasticsearch搜索引擎中建立所述业务数据ID对应的索引,并基于所述业务数据ID将所述待存储的业务数据存储于所述Hbase数据库。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1-5中任意一项所述的数据检索方法。
10.一种数据检索设备,其特征在于,包括处理器和存储器,所述存储器中存储有程序,所述处理器用于运行所述程序,其中,所述程序运行时执行如权利要求1-5中任意一项所述的数据检索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910938751.0A CN112579633A (zh) | 2019-09-30 | 2019-09-30 | 一种数据检索方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910938751.0A CN112579633A (zh) | 2019-09-30 | 2019-09-30 | 一种数据检索方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579633A true CN112579633A (zh) | 2021-03-30 |
Family
ID=75116230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910938751.0A Pending CN112579633A (zh) | 2019-09-30 | 2019-09-30 | 一种数据检索方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579633A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407511A (zh) * | 2021-06-23 | 2021-09-17 | 中移(杭州)信息技术有限公司 | 日志聚合方法、设备及计算机程序产品 |
CN113486138A (zh) * | 2021-07-20 | 2021-10-08 | 北京明略软件***有限公司 | 基于Elasticsearch的检索方法、***和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750872A (zh) * | 2015-04-22 | 2015-07-01 | 海南易建科技股份有限公司 | 一种业务对象的查询方法及装置 |
US20180300415A1 (en) * | 2017-04-16 | 2018-10-18 | Radim Rehurek | Search engine system communicating with a full text search engine to retrieve most similar documents |
CN110275983A (zh) * | 2019-06-05 | 2019-09-24 | 青岛海信网络科技股份有限公司 | 交通监控数据的检索方法及装置 |
-
2019
- 2019-09-30 CN CN201910938751.0A patent/CN112579633A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750872A (zh) * | 2015-04-22 | 2015-07-01 | 海南易建科技股份有限公司 | 一种业务对象的查询方法及装置 |
US20180300415A1 (en) * | 2017-04-16 | 2018-10-18 | Radim Rehurek | Search engine system communicating with a full text search engine to retrieve most similar documents |
CN110275983A (zh) * | 2019-06-05 | 2019-09-24 | 青岛海信网络科技股份有限公司 | 交通监控数据的检索方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407511A (zh) * | 2021-06-23 | 2021-09-17 | 中移(杭州)信息技术有限公司 | 日志聚合方法、设备及计算机程序产品 |
CN113486138A (zh) * | 2021-07-20 | 2021-10-08 | 北京明略软件***有限公司 | 基于Elasticsearch的检索方法、***和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8977623B2 (en) | Method and system for search engine indexing and searching using the index | |
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
CN107622091B (zh) | 一种数据库查询方法和装置 | |
CN107015985B (zh) | 一种数据存储与获取方法及装置 | |
CN109299157B (zh) | 一种分布式大单表的数据导出方法及装置 | |
WO2018149271A1 (zh) | 数据查询方法、装置及计算设备 | |
CN106326309B (zh) | 一种数据查询方法和装置 | |
CN104794123A (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
CN107515879B (zh) | 用于文档检索的方法和电子设备 | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
CN112015820A (zh) | 分布式图数据库实现的方法、***、电子装置和存储介质 | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
CN107704475B (zh) | 多层分布式非结构化数据存储方法、查询方法及装置 | |
CN112579633A (zh) | 一种数据检索方法、装置、设备及存储介质 | |
CN110837499B (zh) | 数据访问处理方法、装置、电子设备和存储介质 | |
CN109063061B (zh) | 跨分布式***数据处理方法、装置、设备及存储介质 | |
CN110955460A (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
CN111221814A (zh) | 二级索引的构建方法、装置及设备 | |
CN114691610A (zh) | 目录的处理方法和装置、存储介质及处理器 | |
CN113849482A (zh) | 一种数据迁移方法、装置及电子设备 | |
CN103020300A (zh) | 一种信息检索方法和设备 | |
CN112685557A (zh) | 可视化信息资源管理方法及装置 | |
CN111143711A (zh) | 对象搜索方法及*** | |
CN111368146A (zh) | 一种路径信息的查询方法及装置、存储介质和处理器 | |
CN115718571B (zh) | 一种基于多维度特征的数据管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |