CN113849499A - 数据的查询方法、装置、存储介质及电子装置 - Google Patents
数据的查询方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN113849499A CN113849499A CN202110984634.5A CN202110984634A CN113849499A CN 113849499 A CN113849499 A CN 113849499A CN 202110984634 A CN202110984634 A CN 202110984634A CN 113849499 A CN113849499 A CN 113849499A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- field
- original data
- target
- 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 43
- 238000004590 computer program Methods 0.000 claims description 18
- 239000012634 fragment Substances 0.000 claims description 18
- 238000005192 partition Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 11
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000004366 reverse phase liquid chromatography Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002699 waste material Substances 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/248—Presentation of query results
-
- 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
- G06F16/2228—Indexing structures
-
- 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/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24557—Efficient disk access during query execution
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
本发明公开了一种数据的查询方法、装置、存储介质及电子装置,上述方法包括:在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,索引数据包括:索引字段以及索引字段对应的行键;索引字段与数据库中存储的原始数据对应;在查找到目标索引数据的情况下,确定目标索引数据中的目标索引字段;在数据库中获取目标索引字段对应的完整的原始数据,并将完整的原始数据作为待检索字段的查询结果。解决了数据库搜索引擎无法在对应存储空间有限的情况下进行数据查询等问题,提高了搜索引擎的使用效率,避免了运行时需要大量存储空间的问题,通过搜索引擎与数据库的联动,实现已存储的海量数据的快速查找,节约了数据查找架构的成本。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种数据的查询方法、装置、存储介质及电子装置。
背景技术
现有技术中,对于海量数据在存储资源有限的条件下,一般H base作为海量数据的存储,但查询性能不高,无法满足实时快速查询;Elastic Search作为搜索引擎,查询性能极高但存储需使用SSD盘,存储成本较高;以物联网为例,采集数据、日志、图片等,这些海量数据存储在Elastic Search中,就需要大量的存储空间;日志的长文本字段及图片字段,一般作为查询结果不会作为检索条件,存储在Elastic Search中,就会造成浪费。对于海量数据在存储资源有限的条件下,Elastic Search作为搜索引擎,需要大量的存储空间(SSD),存储成本较高。
针对相关技术中,数据库搜索引擎无法在对应存储空间有限的情况下进行数据查询等问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据的查询方法、装置、存储介质及电子装置,以至少解决相关技术中,以至少解决相关技术中,数据库搜索引擎无法在对应存储空间有限的情况下进行数据查询等问题。
根据本发明实施例的一个方面,提供了一种数据的查询方法,包括:在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,其中,所述索引数据包括:索引字段以及所述索引字段对应的行键;所述索引字段与数据库中存储的原始数据对应;在查找到所述目标索引数据的情况下,确定所述目标索引数据中的目标索引字段;在所述数据库中获取所述目标索引字段对应的完整的原始数据,并将所述完整的原始数据作为所述待检索字段的查询结果。
在一个示例性实施例中,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据之前,所述方法还包括:获取目标对象在所述数据库搜索引擎输入的查询内容,其中,所述查询内容用于指示目标对象待获取的原始数据中需要包含的文本内容;根据预设字段类型对所述查询内容进行字段提取得到对应的待检索字段,其中,所述预设字段类型用于指示数据库搜索引擎进行原始数据查询的词性。
在一个示例性实施例中,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,包括:确定每一个所述待检索字段对应的索引类型;根据所述索引类型在所述索引数据确定出对应的索引字段,将包含所述索引字段的数据确定为与待检索字段匹配的目标索引数据。
在一个示例性实施例中,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据之前,所述方法还包括:根据预设规则设置所述索引数据,其中,所述预设规则包括以下至少之一:确定原始数据对应的分区日期,将所述分区日期写入对应的索引字段中,得到所述原始数据对应日期索引的索引数据;确定所述原始数据对应的数据类型,将所述数据类型写入对应的索引字段中,得到所述原始数据对应名称索引的索引数据;确定所述原始数据对应的分片标识,将所述分片标识写入对应的索引字段中,得到所述原始数据对应分片索引的索引数据。
在一个示例性实施例中,在所述数据库中获取所述目标索引字段对应的完整的原始数据,并将所述完整的原始数据作为所述待检索字段的查询结果,包括:根据所述目标索引字段在所述数据库中获取文本内容,其中,所述文本内容为完整的原始数据在替换处理后的原始数据,所述替换处理用于指示完整的原始数据通过预设倒排索引将词语替换为标识的操作;根据预设倒排索引确定所述文本内容中的标识对应的词语,以得到所述目标索引字段对应的完整的原始数据;在确定所述完整的原始数据的语义无误的情况下,将所述完整的原始数据作为所述待检索字段的查询结果。
在一个示例性实施例中,根据所述目标索引字段在所述数据库中获取文本内容,包括:确定所述目标索引字段的索引属性以及所述目标索引字段对应的行键;根据所述索引属性以及所述行键在数据库中进行查询;在查询结果与所述目标索引字段中的业务字段的对应的情况下,将所述查询结果对应的数据作为所述目标索引字段对应的文本内容。
根据本发明实施例的另一个方面,还提供了一种数据的查询装置,包括:查找模块,用于在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,其中,所述索引数据包括:索引字段以及所述索引字段对应的行键;所述索引字段与数据库中存储的原始数据对应;确定模块,用于在查找到所述目标索引数据的情况下,确定所述目标索引数据中的目标索引字段;获取模块,用于在所述数据库中获取所述目标索引字段对应的完整的原始数据,并将所述完整的原始数据作为所述待检索字段的查询结果。
在一个示例性实施例中,上述装置还包括:提取模块,用于获取目标对象在所述数据库搜索引擎输入的查询内容,其中,所述查询内容用于指示目标对象待获取的原始数据中需要包含的文本内容;根据预设字段类型对所述查询内容进行字段提取得到对应的待检索字段,其中,所述预设字段类型用于指示数据库搜索引擎进行原始数据查询的词性。
在一个示例性实施例中,上述查找模块,还用于确定每一个所述待检索字段对应的索引类型;根据所述索引类型在所述索引数据确定出对应的索引字段,将包含所述索引字段的数据确定为与待检索字段匹配的目标索引数据。
在一个示例性实施例中,上述装置还包括:设置模块,用于根据预设规则设置所述索引数据,其中,所述预设规则包括以下至少之一:确定原始数据对应的分区日期,将所述分区日期写入对应的索引字段中,得到所述原始数据对应日期索引的索引数据;确定所述原始数据对应的数据类型,将所述数据类型写入对应的索引字段中,得到所述原始数据对应名称索引的索引数据;确定所述原始数据对应的分片标识,将所述分片标识写入对应的索引字段中,得到所述原始数据对应分片索引的索引数据。
在一个示例性实施例中,上述获取模块,还用于根据所述目标索引字段在所述数据库中获取文本内容,其中,所述文本内容为完整的原始数据在替换处理后的原始数据,所述替换处理用于指示完整的原始数据通过预设倒排索引将词语替换为标识的操作;根据预设倒排索引确定所述文本内容中的标识对应的词语,以得到所述目标索引字段对应的完整的原始数据;在确定所述完整的原始数据的语义无误的情况下,将所述完整的原始数据作为所述待检索字段的查询结果。
在一个示例性实施例中,上述获取模块,还用于确定所述目标索引字段的索引属性以及所述目标索引字段对应的行键;根据所述索引属性以及所述行键在数据库中进行查询;在查询结果与所述目标索引字段中的业务字段的对应的情况下,将所述查询结果对应的数据作为所述目标索引字段对应的文本内容。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据的查询方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的数据的查询方法。
在本发明实施例中,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,其中,索引数据包括:索引字段以及索引字段对应的行键;索引字段与数据库中存储的原始数据对应;在查找到目标索引数据的情况下,确定目标索引数据中的目标索引字段;在数据库中获取目标索引字段对应的完整的原始数据,并将完整的原始数据作为待检索字段的查询结果。即通过在搜索引擎中存储数据容量小的索引数据,并在索引数据中查找与待检索字段匹配的目标索引数据,进而根据目标索引数据中对应的内容信息在数据库中找到对应的原始数据,解决了相关技术中,数据库搜索引擎无法在对应存储空间有限的情况下进行数据查询等问题,提高了搜索引擎的使用效率,避免了运行时需要大量存储空间的问题,通过搜索引擎与数据库的联动,实现已存储的海量数据的快速查找,节约了数据查找架构的成本。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据的查询方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的数据的查询方法的流程图;
图3是根据本发明可选实施例的即时查询存储的流程示意图;
图4是根据本发明可选实施例的根据对应检索字段查找原始数据的示意;
图5是根据本发明实施例的数据的查询装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例所提供的方法实施例可以在计算机终端、设备终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种数据的查询方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据的查询方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据的查询方法,图2是根据本发明实施例的数据的查询方法的流程图,该流程包括如下步骤:
步骤S202,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,其中,所述索引数据包括:索引字段以及所述索引字段对应的行键;所述索引字段与数据库中存储的原始数据对应;
步骤S204,在查找到所述目标索引数据的情况下,确定所述目标索引数据中的目标索引字段;
步骤S206,在所述数据库中获取所述目标索引字段对应的完整的原始数据,并将所述完整的原始数据作为所述待检索字段的查询结果。
通过上述步骤S202至步骤S206,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,其中,索引数据包括:索引字段以及索引字段对应的行键;索引字段与数据库中存储的原始数据对应;在查找到目标索引数据的情况下,确定目标索引数据中的目标索引字段;在数据库中获取目标索引字段对应的完整的原始数据,并将完整的原始数据作为待检索字段的查询结果。即通过在搜索引擎中存储数据容量小的索引数据,并在索引数据中查找与待检索字段匹配的目标索引数据,进而根据目标索引数据中对应的内容信息在数据库中找到对应的原始数据,解决了相关技术中,数据库搜索引擎无法在对应存储空间有限的情况下进行数据查询等问题,提高了搜索引擎的使用效率,避免了运行时需要大量存储空间的问题,通过搜索引擎与数据库的联动,实现已存储的海量数据的快速查找,节约了数据查找架构的成本。
在一个示例性实施例中,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据之前,所述方法还包括:获取目标对象在所述数据库搜索引擎输入的查询内容,其中,所述查询内容用于指示目标对象待获取的原始数据中需要包含的文本内容;根据预设字段类型对所述查询内容进行字段提取得到对应的待检索字段,其中,所述预设字段类型用于指示数据库搜索引擎进行原始数据查询的词性。
简而言之,在根据目标对象输入的查询内容为目标对象查找对应的原始数据之前,为了保证数据的准确性,通过预设字段类型对查询内容进行字段提取,确定出待检索字段,加快在索引数据中的查找效率。
在一个示例性实施例中,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,包括:确定每一个所述待检索字段对应的索引类型;根据所述索引类型在所述索引数据确定出对应的索引字段,将包含所述索引字段的数据确定为与待检索字段匹配的目标索引数据。
需要说明的是,上述索引类型用于指示待检索字段在索引数据中进行查找时的类型,根据索引类型可以在索引数据中已分类的数据类型中确定查找方向,继而将包含所述索引字段的数据确定为与待检索字段匹配的目标索引数据。
在一个示例性实施例中,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据之前,所述方法还包括:根据预设规则设置所述索引数据,其中,所述预设规则包括以下至少之一:确定原始数据对应的分区日期,将所述分区日期写入对应的索引字段中,得到所述原始数据对应日期索引的索引数据;确定所述原始数据对应的数据类型,将所述数据类型写入对应的索引字段中,得到所述原始数据对应名称索引的索引数据;确定所述原始数据对应的分片标识,将所述分片标识写入对应的索引字段中,得到所述原始数据对应分片索引的索引数据。
例如,当数据为海量数据时,通常是按照月份将索引分为多个:table_name-yyyyMM-dd~dd,其中yyyyMM为年月,dd~dd为起止日期。数据会按照分区日期写入对应的起止日期的索引字段中。同一类数据会通过索引别名table_name_rd将所有数据合并起来,对外提供查询服务。索引实例(当前以时间范围划分)分片数(多个shard会存储在不同服务器上)ES推荐分shard为5-15,故如果计算值<5,请使用shard为5,但如果数据量特别小,也可使用计算值。ES推荐的最大JVM堆空间是30~32G,所以分片最大容量限制为30GB。
在一个示例性实施例中,在所述数据库中获取所述目标索引字段对应的完整的原始数据,并将所述完整的原始数据作为所述待检索字段的查询结果,包括:根据所述目标索引字段在所述数据库中获取文本内容,其中,所述文本内容为完整的原始数据在替换处理后的原始数据,所述替换处理用于指示完整的原始数据通过预设倒排索引将词语替换为标识的操作;根据预设倒排索引确定所述文本内容中的标识对应的词语,以得到所述目标索引字段对应的完整的原始数据;在确定所述完整的原始数据的语义无误的情况下,将所述完整的原始数据作为所述待检索字段的查询结果。
在一个示例性实施例中,根据所述目标索引字段在所述数据库中获取文本内容,包括:确定所述目标索引字段的索引属性以及所述目标索引字段对应的行键;根据所述索引属性以及所述行键在数据库中进行查询;在查询结果与所述目标索引字段中的业务字段的对应的情况下,将所述查询结果对应的数据作为所述目标索引字段对应的文本内容。
例如,当根据目标索引字段在数据库中查找到对应的原始数据时,为了提升原始数据的存储效率,已经通过预设倒排索引将原始数据中对应的词语转换为了标识,因此,需要根据预设倒排索引重新检标识转换为对应的词语,得到可用于搜索引擎进行查询展示的完成的原始数据,即原始数据与完整的原始数据的区别在于部分或者全部数据通过预设倒排索引进行了转化。
为了更好的理解上述数据的查询方法的过程,以下结合几个可选实施例对上述数据的查询方法流程进行说明。
作为一种的可选的实施方式,Elasticsearch的实现原理主要分为以下几个步骤,首先用户将数据提交到Elastic search数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。
在本发明可选实施例中,主要提供了一种基于半索引的即时查询存储设计,通过将分布式全文检索的搜索服务器ElasticSearch与数据库HBase相结合,采用半索引(HBase+ElasticSearch)的存储设计,减少ElasticSearch的存储需求空间,提升查询性能,实现对Elastic Search需要存储空间的优化。
可选的,图3是根据本发明可选实施例的即时查询存储的流程示意图,如图3所示,包括:
步骤S302,确定查询条件;
步骤S304,在搜索服务器Elastic Search上存储的索引数据中查找符合所述查询条件的字段,其中,索引数据指需要被检索的字段,存储在Elastic Search集群中;
可选的,如图4所示为根据对应检索字段查找原始数据的示意图;在查找之前在建立对应的索引数据是根据预设的倒排索引对原始数据进行处理,进而得到原始数据对应的索引数据。
步骤S306,确定出目标索引数据后,对所述目标索引数据进行解析,确定出对应的行键(rowkey),其中,行键为数据行在表中的唯一标识,作为检索记录的主键;
可选的,rowkey设计,将行键设置为yyyyMM+分段+其它业务字段,yyyyMM+分段和region的split key(分片索引)对应,决定数据入那一个region;
步骤S308,根据行键在数据库HBase中找到对应的数据分区,获得对应的原始数据,其中,原始数据为全量字段,包括某些超长的文本数据,如照片,存储在HBase集群中;
步骤S310,将原始数据作为查询结果进行返回。
需要说明的是,为了便于执行上述查询方案,需要对数据库Hbase进行存储设计,根据需要存储数据的类型进行Region区域划分设计,Region是HBase数据存储和管理的基本单位。
可选的,每个region的大小取值范围为:10G-30G,通常情况下region默认取值为10G。
需要说明的是,region越小,更有利于HBase的集群负载分配均衡,对应的压缩速度更快,稳定性好,但是,宕机后起不来,由于region过多导致拉取时间变长;大量小region有可能会产生更加频繁的刷新flush,产生很多小文件,引起不必要的压缩,特殊场景下,一旦region数超过一个阈值,将会导致整个region server级别的刷新flush,严重阻塞用户读写,导致region管理开销大。region越大,有利于HBase的集群的快速重启以及宕机重启,可以减少RPC的数量,有利于产生更少更大的刷新Flush;但是,compaction压缩效果很差,会引起较大的数据写入抖动,稳定性较差,不利于集群之间负载均衡。
可选的,在进行设计时,每月的region数量=单条记录大小(KB)*每天记录总数*30/1024/1024/20GB(region大小);
作为一种可选的实施方式,对于ElasticSearch的存储设计;
1、索引和分片,海量数据索引是按照月将索引分为多个:table_name-yyyyMM-dd~dd,其中yyyyMM为年月,dd~dd为起止日期。数据会按照分区日期写入对应的起止日期的索引中。同一类数据会通过索引别名table_name_rd将所有数据合并起来,对外提供查询服务。索引实例(当前以时间范围划分)分片数(多个shard会存储在不同服务器上)ES推荐分shard为5-15,故如果计算值<5,请使用shard为5,但如果数据量特别小,也可使用计算值。ES推荐的最大JVM堆空间是30~32G,所以分片最大容量限制为30GB。
可选的,每月索引数*分片数*30GB>=单条记录大小(KB)*每天记录总数*30/1024/1024。
2、索引属性设置,_source字段默认是存储的可通过rowkey和少量字段设置为includes和大部分字段设置为excludes减少原始文档中字段存储,以减少ElasticSearch存储大小,同时满足查询需求。
通过上述可选实施例,通过去掉Elastic Search中大字段和将includes属性改为excludes后,使得Elastic Search单条大小变化,存储减少,进而在ElasticSearch对应的存储空间内可以保存更多的数据,减少ElasticSearch的存储,提升查询性能,进一步通过Elastic Search与Hbase相结合的半索引式数据存储,实现海量数据的保存与查询。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种数据的查询装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的数据的查询装置的结构框图,如图5所示,该装置包括:
查找模块52,用于在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,其中,所述索引数据包括:索引字段以及所述索引字段对应的行键;所述索引字段与数据库中存储的原始数据对应;
确定模块54,用于在查找到所述目标索引数据的情况下,确定所述目标索引数据中的目标索引字段;
获取模块56,用于在所述数据库中获取所述目标索引字段对应的完整的原始数据,并将所述完整的原始数据作为所述待检索字段的查询结果。
通过上述装置,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,其中,索引数据包括:索引字段以及索引字段对应的行键;索引字段与数据库中存储的原始数据对应;在查找到目标索引数据的情况下,确定目标索引数据中的目标索引字段;在数据库中获取目标索引字段对应的完整的原始数据,并将完整的原始数据作为待检索字段的查询结果。即通过在搜索引擎中存储数据容量小的索引数据,并在索引数据中查找与待检索字段匹配的目标索引数据,进而根据目标索引数据中对应的内容信息在数据库中找到对应的原始数据,解决了相关技术中,数据库搜索引擎无法在对应存储空间有限的情况下进行数据查询等问题,提高了搜索引擎的使用效率,避免了运行时需要大量存储空间的问题,通过搜索引擎与数据库的联动,实现已存储的海量数据的快速查找,节约了数据查找架构的成本。
在一个示例性实施例中,上述装置还包括:提取模块,用于获取目标对象在所述数据库搜索引擎输入的查询内容,其中,所述查询内容用于指示目标对象待获取的原始数据中需要包含的文本内容;根据预设字段类型对所述查询内容进行字段提取得到对应的待检索字段,其中,所述预设字段类型用于指示数据库搜索引擎进行原始数据查询的词性。
简而言之,在根据目标对象输入的查询内容为目标对象查找对应的原始数据之前,为了保证数据的准确性,通过预设字段类型对查询内容进行字段提取,确定出待检索字段,加快在索引数据中的查找效率。
在一个示例性实施例中,上述查找模块,还用于确定每一个所述待检索字段对应的索引类型;根据所述索引类型在所述索引数据确定出对应的索引字段,将包含所述索引字段的数据确定为与待检索字段匹配的目标索引数据。
需要说明的是,上述索引类型用于指示待检索字段在索引数据中进行查找时的类型,根据索引类型可以在索引数据中已分类的数据类型中确定查找方向,继而将包含所述索引字段的数据确定为与待检索字段匹配的目标索引数据。
在一个示例性实施例中,上述装置还包括:设置模块,用于根据预设规则设置所述索引数据,其中,所述预设规则包括以下至少之一:确定原始数据对应的分区日期,将所述分区日期写入对应的索引字段中,得到所述原始数据对应日期索引的索引数据;确定所述原始数据对应的数据类型,将所述数据类型写入对应的索引字段中,得到所述原始数据对应名称索引的索引数据;确定所述原始数据对应的分片标识,将所述分片标识写入对应的索引字段中,得到所述原始数据对应分片索引的索引数据。
例如,当数据为海量数据时,通常是按照月份将索引分为多个:table_name-yyyyMM-dd~dd,其中yyyyMM为年月,dd~dd为起止日期。数据会按照分区日期写入对应的起止日期的索引字段中。同一类数据会通过索引别名table_name_rd将所有数据合并起来,对外提供查询服务。索引实例(当前以时间范围划分)分片数(多个shard会存储在不同服务器上)ES推荐分shard为5-15,故如果计算值<5,请使用shard为5,但如果数据量特别小,也可使用计算值。ES推荐的最大JVM堆空间是30~32G,所以分片最大容量限制为30GB。
在一个示例性实施例中,上述获取模块,还用于根据所述目标索引字段在所述数据库中获取文本内容,其中,所述文本内容为完整的原始数据在替换处理后的原始数据,所述替换处理用于指示完整的原始数据通过预设倒排索引将词语替换为标识的操作;根据预设倒排索引确定所述文本内容中的标识对应的词语,以得到所述目标索引字段对应的完整的原始数据;在确定所述完整的原始数据的语义无误的情况下,将所述完整的原始数据作为所述待检索字段的查询结果。
在一个示例性实施例中,上述获取模块,还用于确定所述目标索引字段的索引属性以及所述目标索引字段对应的行键;根据所述索引属性以及所述行键在数据库中进行查询;在查询结果与所述目标索引字段中的业务字段的对应的情况下,将所述查询结果对应的数据作为所述目标索引字段对应的文本内容。
例如,当根据目标索引字段在数据库中查找到对应的原始数据时,为了提升原始数据的存储效率,已经通过预设倒排索引将原始数据中对应的词语转换为了标识,因此,需要根据预设倒排索引重新检标识转换为对应的词语,得到可用于搜索引擎进行查询展示的完成的原始数据,即原始数据与完整的原始数据的区别在于部分或者全部数据通过预设倒排索引进行了转化。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1、在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,其中,所述索引数据包括:索引字段以及所述索引字段对应的行键;所述索引字段与数据库中存储的原始数据对应;
S2、在查找到所述目标索引数据的情况下,确定所述目标索引数据中的目标索引字段;
S3、在所述数据库中获取所述目标索引字段对应的完整的原始数据,并将所述完整的原始数据作为所述待检索字段的查询结果。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1、在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,其中,所述索引数据包括:索引字段以及所述索引字段对应的行键;所述索引字段与数据库中存储的原始数据对应;
S2、在查找到所述目标索引数据的情况下,确定所述目标索引数据中的目标索引字段;
S3、在所述数据库中获取所述目标索引字段对应的完整的原始数据,并将所述完整的原始数据作为所述待检索字段的查询结果。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据的查询方法,其特征在于,包括:
在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,其中,所述索引数据包括:索引字段以及所述索引字段对应的行键;所述索引字段与数据库中存储的原始数据对应;
在查找到所述目标索引数据的情况下,确定所述目标索引数据中的目标索引字段;
在所述数据库中获取所述目标索引字段对应的完整的原始数据,并将所述完整的原始数据作为所述待检索字段的查询结果。
2.根据权利要求1所述的数据的查询方法,其特征在于,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据之前,所述方法还包括:
获取目标对象在所述数据库搜索引擎输入的查询内容,其中,所述查询内容用于指示目标对象待获取的原始数据中需要包含的文本内容;
根据预设字段类型对所述查询内容进行字段提取得到对应的待检索字段,其中,所述预设字段类型用于指示数据库搜索引擎进行原始数据查询的词性。
3.根据权利要求1所述的数据的查询方法,其特征在于,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,包括:
确定每一个所述待检索字段对应的索引类型;
根据所述索引类型在所述索引数据确定出对应的索引字段,将包含所述索引字段的数据确定为与待检索字段匹配的目标索引数据。
4.根据权利要求1所述的数据的查询方法,其特征在于,在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据之前,所述方法还包括:
根据预设规则设置所述索引数据,其中,所述预设规则包括以下至少之一:
确定原始数据对应的分区日期,将所述分区日期写入对应的索引字段中,得到所述原始数据对应日期索引的索引数据;
确定所述原始数据对应的数据类型,将所述数据类型写入对应的索引字段中,得到所述原始数据对应名称索引的索引数据;
确定所述原始数据对应的分片标识,将所述分片标识写入对应的索引字段中,得到所述原始数据对应分片索引的索引数据。
5.根据权利要求1所述的数据的查询方法,其特征在于,在所述数据库中获取所述目标索引字段对应的完整的原始数据,并将所述完整的原始数据作为所述待检索字段的查询结果,包括:
根据所述目标索引字段在所述数据库中获取文本内容,其中,所述文本内容为完整的原始数据在替换处理后的原始数据,所述替换处理用于指示完整的原始数据通过预设倒排索引将词语替换为标识的操作;
根据预设倒排索引确定所述文本内容中的标识对应的词语,以得到所述目标索引字段对应的完整的原始数据;
在确定所述完整的原始数据的语义无误的情况下,将所述完整的原始数据作为所述待检索字段的查询结果。
6.根据权利要求5所述的数据的查询方法,其特征在于,根据所述目标索引字段在所述数据库中获取文本内容,包括:
确定所述目标索引字段的索引属性以及所述目标索引字段对应的行键;
根据所述索引属性以及所述行键在数据库中进行查询;
在查询结果与所述目标索引字段中的业务字段的对应的情况下,将所述查询结果对应的数据作为所述目标索引字段对应的文本内容。
7.一种数据的查询装置,其特征在于,包括:
查找模块,用于在数据库搜索引擎的索引数据中查找与待检索字段匹配的目标索引数据,其中,所述索引数据包括:索引字段以及所述索引字段对应的行键;所述索引字段与数据库中存储的原始数据对应;
确定模块,用于在查找到所述目标索引数据的情况下,确定所述目标索引数据中的目标索引字段;
获取模块,用于在所述数据库中获取所述目标索引字段对应的完整的原始数据,并将所述完整的原始数据作为所述待检索字段的查询结果。
8.根据权利要求7所述的数据的查询装置,其特征在于,所述装置还包括:提取模块,用于获取目标对象在所述数据库搜索引擎输入的查询内容,其中,所述查询内容用于指示目标对象待获取的原始数据中需要包含的文本内容;根据预设字段类型对所述查询内容进行字段提取得到对应的待检索字段,其中,所述预设字段类型用于指示数据库搜索引擎进行原始数据查询的词性。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110984634.5A CN113849499A (zh) | 2021-08-25 | 2021-08-25 | 数据的查询方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110984634.5A CN113849499A (zh) | 2021-08-25 | 2021-08-25 | 数据的查询方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113849499A true CN113849499A (zh) | 2021-12-28 |
Family
ID=78976352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110984634.5A Pending CN113849499A (zh) | 2021-08-25 | 2021-08-25 | 数据的查询方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849499A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168409A (zh) * | 2022-09-05 | 2022-10-11 | 金蝶软件(中国)有限公司 | 数据库分表的数据查询方法、装置和计算机设备 |
CN116561434A (zh) * | 2023-06-28 | 2023-08-08 | 平安银行股份有限公司 | 一种数据检索推荐方法、装置、存储介质及设备 |
-
2021
- 2021-08-25 CN CN202110984634.5A patent/CN113849499A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168409A (zh) * | 2022-09-05 | 2022-10-11 | 金蝶软件(中国)有限公司 | 数据库分表的数据查询方法、装置和计算机设备 |
CN115168409B (zh) * | 2022-09-05 | 2023-02-28 | 金蝶软件(中国)有限公司 | 数据库分表的数据查询方法、装置和计算机设备 |
CN116561434A (zh) * | 2023-06-28 | 2023-08-08 | 平安银行股份有限公司 | 一种数据检索推荐方法、装置、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108197296B (zh) | 基于Elasticsearch索引的数据存储方法 | |
US9195745B2 (en) | Dynamic query master agent for query execution | |
CN111506569B (zh) | 数据存储方法、装置、电子装置 | |
CN113849499A (zh) | 数据的查询方法、装置、存储介质及电子装置 | |
CN109299101B (zh) | 数据检索方法、装置、服务器和存储介质 | |
CN112262379A (zh) | 存储数据项并且标识存储的数据项 | |
WO2023143095A1 (en) | Method and system for data query | |
CN113051460A (zh) | 基于Elasticsearch的数据检索方法、***、电子设备及存储介质 | |
CN114116762A (zh) | 一种离线数据模糊搜索方法、装置、设备和介质 | |
CN110580255A (zh) | 一种存储并检索数据的方法以及*** | |
CN114398520A (zh) | 数据检索方法、***、装置、电子设备及存储介质 | |
CN111625600B (zh) | 数据存储的处理方法、***、计算机设备及存储介质 | |
CN111858581B (zh) | 一种分页查询的方法、装置、存储介质和电子设备 | |
CN110515979B (zh) | 数据查询方法、装置、设备和存储介质 | |
CN112199463A (zh) | 数据查询方法、装置及设备 | |
CN107291938A (zh) | 订单查询***及方法 | |
CN116450607A (zh) | 数据处理方法、设备及存储介质 | |
CN111125158A (zh) | 数据表处理方法、装置、介质及电子设备 | |
CN115794861A (zh) | 基于特征摘要的离线数据查询复用方法及其应用 | |
CN114880329A (zh) | 数据查询方法、装置、存储介质及计算机设备 | |
CN114064729A (zh) | 一种数据检索方法、装置、设备及存储介质 | |
CN114201496A (zh) | 数据更新方法、装置、电子设备、***及存储介质 | |
CN115794876A (zh) | 针对业务数据包的分片处理方法、装置、设备及存储介质 | |
CN112527900A (zh) | 一种数据库读多副本一致性的方法、装置、设备及介质 | |
CN111427910A (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 |