CN117931893A - 基于分布式搜索引擎的数据检索方法及系统 - Google Patents
基于分布式搜索引擎的数据检索方法及系统 Download PDFInfo
- Publication number
- CN117931893A CN117931893A CN202410107104.6A CN202410107104A CN117931893A CN 117931893 A CN117931893 A CN 117931893A CN 202410107104 A CN202410107104 A CN 202410107104A CN 117931893 A CN117931893 A CN 117931893A
- Authority
- CN
- China
- Prior art keywords
- distributed search
- distributed
- data
- search engine
- target data
- 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 59
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000013507 mapping Methods 0.000 claims description 9
- 230000008676 import Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 12
- 238000004891 communication Methods 0.000 description 11
- 230000006872 improvement Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种基于分布式搜索引擎的数据检索方法及系统,所述方法包括:将客户端与分布式搜索引擎建立连接,并创建分布式搜索数据库;在客户端上,将源数据库中的数据导入分布式搜索数据库;获取自定义表达式,基于自定义表达式构建分布式查询语句;在分布式搜索数据库中,根据分布式查询语句进行检索,得到目标数据;对目标数据进行格式统一处理,将处理后的目标数据以目标数据结构的形式存储。本公开提供的基于分布式搜索引擎的数据检索方法大大简化了数据查询的过程,有效提高了数据查询的效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种基于分布式搜索引擎的数据检索方法及系统。
背景技术
在面对大规模数据集和复杂查询需求时,使用传统的数据检索方法进行检索,会存在效率低下以及准确性不足的情况。随着数据的快速增长和多样化的查询需求,如何快速、准确地检索并提供高质量的搜索结果成为了一个迫切的需求。
发明内容
有鉴于此,本公开的目的在于提出一种基于分布式搜索引擎的数据检索方法及系统,简化了检索过程,有效的提高了检索的效率。
为了实现上述公开目的之一,本公开提供了一种基于分布式搜索引擎的数据检索方法,包括:
将客户端与分布式搜索引擎建立连接,并创建分布式搜索数据库;
在所述客户端上,将源数据库中的数据导入所述分布式搜索数据库;
获取自定义表达式,基于所述自定义表达式构建分布式查询语句;
在所述分布式搜索数据库中,根据所述分布式查询语句进行检索,得到目标数据;
对所述目标数据进行格式统一处理,将处理后的所述目标数据以目标数据结构的形式存储。
作为本公开一实施方式的进一步改进,所述在客户端上与分布式搜索引擎建立连接,并创建分布式搜索数据库,包括:
在所述客户端中安装目标格式的分布式搜索引擎;
基于所述分布式搜索引擎创建分布式客户端对象;
将所述分布式客户端对象中的主机和客户端的原始信息替换成所述分布式搜索引擎的主机和端口的信息,以实现将客户端与所述分布式搜索引擎建立连接;
根据所述源数据库的表名和字段之间的关系,创建分布式搜索索引;
基于所述分布式搜索索引形成所述分布式搜索数据库。
作为本公开一实施方式的进一步改进,所述将源数据库中的数据导入所述分布式搜索数据库,包括:
配置所述源数据库链接地址,通过脚本的方式将所述源数据库中的源数据导入所述分布式搜索数据库。
作为本公开一实施方式的进一步改进,所述获取自定义表达式,基于所述自定义表达式构建分布式查询语句,包括:
获取自定义表达式,基于所述自定义表达式生成特有的伪查询语句;
解析所述伪查询语句,将解析后的所述伪查询语句转换为所述分布式查询语句。
作为本公开一实施方式的进一步改进,所述对所述目标数据进行格式统一处理,将处理后的所述目标数据以目标数据结构的形式存储,包括:
获取所述分布式搜索索引的名称所对应的字段数据类型映射;
遍历存储所述目标数据的文档,并在所述目标数据中提取所需字段的值;
根据每个所述所需字段的数据类型和目标格式,执行相应的格式化操作;
将处理后的所述目标数据以目标数据结构的形式存储。
作为本公开一实施方式的进一步改进,所述字段的数据类型包括字符串字段、日期字段、数值字段、布尔字段、空值和缺失值中的至少一种。
作为本公开一实施方式的进一步改进,所述目标数据结构包括列表、字典、对象和树形结构中的至少一种。
为了实现上述公开目的之一,本公开一实施方式提供了一种基于分布式搜索引擎的数据检索系统,包括:
创建模块,用于将客户端与分布式搜索引擎建立连接,并创建分布式搜索数据库;
导入模块,用于在所述客户端上,将源数据库中的数据导入所述分布式搜索数据库;
构建模块,用于获取自定义表达式,基于所述自定义表达式构建分布式查询语句;
检索模块,用于在所述分布式搜索数据库中,根据所述分布式查询语句进行检索,得到目标数据;
处理模块,用于对所述目标数据进行格式统一处理,将处理后的所述目标数据以目标数据结构的形式存储。
为了实现上述公开目的之一,本公开一实施方式提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项所述的基于分布式搜索引擎的数据检索方法。
为了实现上述公开目的之一,本公开一实施方式提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行上述任一所述的基于分布式搜索引擎的数据检索方法。
相对于现有技术,本公开提供的基于分布式搜索引擎的数据检索方法,通过将客户端与分布式搜索引擎建立连接,并创建分布式搜数据库,将源数据库中的数据导入到分布式搜索数据库中,便于对数据进行查询;通过自定义表达式构建分布式查询语句,根据分布式查询语句在分布式搜索数据库中进行检索,实现更灵活和高效的搜索查询;再对目标数据进行处理后,以目标数据结构的形式存储,大大简化了数据查询的过程,有效提高了数据查询的效率。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施方式或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开一实施方式提供的基于分布式搜索引擎的数据检索方法的流程示意图;
图2为本公开另一实施方式提供的基于分布式搜索引擎的数据检索方法的流程示意图;
图3为本公开另一实施方式提供的基于分布式搜索引擎的数据检索方法的流程示意图;
图4为本公开另一实施方式提供的基于分布式搜索引擎的数据检索方法的流程示意图;
图5为本公开一实施方式提供的基于分布式搜索引擎的数据检索系统的模块示意图;
图6为本公开一实施方式提供的电子设备硬件结构示意图。
具体实施方式
以下将结合附图所示的具体实施方式对本公开进行详细描述。但这些实施方式并不限制本公开,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本公开的保护范围内。
实施方式需要说明的是,除非另外定义,本公开实施方式使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施方式中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1所示,本公开实施方式提供一种基于分布式搜索引擎的数据检索方法,包括以下步骤:
步骤S10、将客户端与分布式搜索引擎建立连接,并创建分布式搜索数据库;
步骤S20、在客户端上,将源数据库中的数据导入分布式搜索数据库;
步骤S30、获取自定义表达式,基于自定义表达式构建分布式查询语句;
步骤S40、在分布式搜索数据库中,根据分布式查询语句进行检索,得到目标数据;
步骤S50、对目标数据进行格式统一处理,将处理后的目标数据以目标数据结构的形式存储。
本公开提供的基于分布式搜索引擎的数据检索方法,通过将客户端与分布式搜索引擎建立连接,并创建分布式搜索数据库,将源数据库中的数据导入到分布式搜索数据库中,便于对数据进行查询;通过自定义表达式构建分布式查询语句,根据分布式查询语句在分布式搜索数据库中进行检索,实现更灵活和高效的搜索查询;再对目标数据进行处理后,以目标数据结构的形式存储,大大简化了数据查询的过程,有效提高了数据查询的效率。
如图2所示,在其中一实施方式中,步骤S10包括以下步骤:
步骤S110、在客户端中安装目标格式的分布式搜索引擎;
步骤S120、基于分布式搜索引擎创建分布式客户端对象;
步骤S130、将分布式客户端对象中的主机和客户端的原始信息替换成分布式搜索引擎的主机和端口的信息,以实现将客户端与分布式搜索引擎建立连接;
步骤S140、根据源数据库的表名和字段之间的关系,创建分布式搜索索引;
步骤S150、基于分布式搜索索引形成分布式搜索数据库。
具体的,目标格式包括Python、JavaScript等;分布式搜索引擎包括Elasticsearch、Lucene、Solr等。本公开所使用的为Python格式的Elasticsearch;Elasticsearch是一种开源的分布式搜索引擎,具有强大的搜索能力和高效的分布式架构,能够处理大规模数据集的搜索和分析需求,并提供全文搜索、多样化的查询语法以及实时响应等功能。选用何种格式的分布式搜索引擎可以根据实际需求进行选择,并不做具体限定。
当客户端中的Python没有安装分布式搜索引擎时,需要首先安装一个Elasticsearch模块,可以使用pip命令安装一个Elasticsearch模块,在Python中将Elasticsearch模块导入,即在客户端中的Python上完成分布式搜索引擎的安装;再使用安装的Elasticsearch模块创建一个分布式客户端对象,创建完成后,将分布式搜索引擎的主机和端口的信息替换掉创建的分布式客户端对象中的主机和客户端的原始信息,替换完成后,实现将客户端与分布式搜索引擎建立连接。
将源数据库中的数据,通过字段之间的映射,生成Elasticsearch对应的字段;其中,源数据库可以为关系型数据库,例如mysql、postgres、monodb等,还可以为非关系型数据库。源数据库表名、源字段名和源字段类型与目标Elasticsearch字段名和Elasticsearch字段类型的关系如表1所示。
根据表1可以确定源数据库表和字段与目标Elasticsearch字段名和字段之间的映射关系;再使用分布式客户端对象创建分布式搜索索引,根据创建的分布式搜索索引形成分布式搜索数据库。
在其中一实施方式中,步骤S20包括:配置源数据库链接地址,通过脚本的方式将源数据库中的源数据导入分布式搜索数据库。
首先确定源数据库的类型和连接信息,例如,数据库主机、端口等信息;再根据使用需求选择适当的脚本语言,例如,Python、JavaScript等;使用选择的脚本语言编写一个脚本来读取源数据库中的数据,使用脚本将源数据库中的数据批量写入到分布式搜索数据库中。在其他实施方式中,还可以在开发环境中对编写的脚本进行调试和测试,确保脚本能够正确读取源数据库中的数据。在脚本中添加适当的错误处理机制,以确保在数据导入过程中能够处理可能出现的错误和异常情况。
如图3所示,在其中一实施方式中,步骤S30包括以下步骤:
步骤S310、获取自定义表达式,基于自定义表达式生成特有的伪查询语句;
步骤S320、解析伪查询语句,将解析后的伪查询语句转换为分布式查询语句。
首先确定关键字之间的映射关系,如映射表2所示。
表2
在步骤S310中,在客户端获取由用户自定义的表达式,生成特有的伪查询语句;
首先定义整体数据结构dict对象,dict中包括index(索引名称)和query(查询语句)属性;query对象结构为dict;key:字段名称;value:字段值、操作选项{"value":"张三","option":"模糊"};
query的结构是由单个“字段-值-逻辑语句”组成的一个个集合,在转换为分布式查询语句时,字段-值-逻辑语句--->字段-值-运算符,则整体查询结构为:
语句①,选择name字段,并输入了关键字"张三",选择模糊匹配,代码
如下:
{"index":"D_50","query":{"name":{"value":"张三","option":"模糊"}}}
语句②,选择price字段,并定义了一个范围:从20到50,代码如下:
语句③,选择title字段并输入了"book",定义了模糊查询;同时,选择price字段的值在20到50之间;同时,选择tags字段,并输入了"bestseller",定义了精准查询,代码如下:
其中,“字段-值-逻辑语句--->字段-值-运算符”是一种用于描述数据处理中的操作流程的表达式;表达式的含义为将字段和值与逻辑语句结合起来,并使用运算符进行计算或处理,以得到新的字段和值。例如,在一个数据库查询中,可以使用该表达式来选择符合特定条件的记录,并对选定的字段应用相应的运算符进行计算。
在步骤S320中,使用解析器解析生成的伪查询语句。对语句①进行解析:获取需要查询的分布式搜索索引以及检索对象query,遍历query对象,key值为字段名称,option:条件关键字“模糊”,通过表2可以得出“模糊”对应的Elasticsearch关键词为match,构造可得出分布式查询语句:
对语句②进行解析:通过遍历query对象,price对应值为数组对象,则可判定price为多条件查询,数组对象之间的关系为and,并且数组中每个对象的option为大于等于之类,即可确认为多条件范围查询range:
对语句③进行解析:根据len(data['query'].keys())>1,可得出由多个查询字段组成,可得出多字段同时满足关键字must,而must需要配合bool使用:
通过自定义表达式,用户可以更灵活地构建查询语句,而无需具备专业的编程知识,这大大简化了查询过程,降低了使用门槛。还可以根据用户定义的搜索条件自动生成相应的分布式查询语句,并执行搜索操作,避免了手动编写查询语句的繁琐过程,提高了查询效率。
在步骤S40中,分布式查询语句可以为DSL查询语句。DSL是一种专门为特定领域设计的编程语言,用于简化特定任务的编写;DSL查询语句可以与分布式搜索数据库建立同步或异步连接,并执行检索、索引文档等操作。通过将分布式查询语句与分布式搜索数据库建立连接后执行检索操作,可以更好的检索所需的目标数据。
如图4所示,在其中一实施方式中,步骤S50包括:
步骤S510、获取分布式搜索索引的名称所对应的字段数据类型映射。
结合表1、表2,并根据步骤310-320中的分布式搜索索引名称,获取与分布式搜索索引名称相对应的字段类型映射。
步骤S520、遍历存储目标数据的文档,并在目标数据中提取所需字段的值;
步骤S530、根据每个所需字段的数据类型和目标格式,执行相应的格式化操作;其中,字段的数据类型包括:字符串字段、日期字段、数值字段、布尔字段、空值和缺失值等。
对于字符串字段,可以执行字符串替换、删除空格、转换为大写或小写等。
对于日期字段,可以将其转换为特定的日期格式或时间戳。
对于数值字段,可以进行四舍五入、取整、取余等操作。
对于布尔字段,可以执行布尔值转换、取反等操作。
对于处理空值或处理缺失值,可以根据实际情况选择忽略这些值、使用默认值、填充特定值或进行其他处理。
步骤S540、将处理后的目标数据以目标数据结构的形式存储。其中,目标数据结构包括列表、字典、对象和树形结构等,可以根据实际需求自行选择不同的数据结构来存储目标数据。
综上所述,本公开提供的基于分布式搜索引擎的数据检索方法,通过将客户端与分布式搜索引擎建立连接,并创建分布式搜索数据库,将源数据库中的数据导入到分布式搜索数据库中,便于对数据进行查询;通过自定义表达式构建分布式查询语句,根据分布式查询语句在分布式搜索数据库中进行检索,实现更灵活和高效的搜索查询;再对目标数据进行处理后,以目标数据结构的形式存储,大大简化了数据查询的过程,有效提高了数据查询的效率。
需要说明的是,本公开实施方式的方法可以由单个设备执行,例如一台计算机或服务器等。本实施方式的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施方式的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施方式进行了描述。其它实施方式在所附权利要求书的范围内。
基于同一发明构思,与上述任意实施方式方法相对应的,如图5所示,本公开还提供了一种基于分布式搜索引擎的数据检索系统,包括:
创建模块100,用于将客户端与分布式搜索引擎建立连接,并创建分布式搜索数据库;
导入模块200,用于在客户端上,将源数据库中的数据导入分布式搜索数据库;
构建模块300,用于获取自定义表达式,基于自定义表达式构建分布式查询语句;
检索模块400,用于在分布式搜索数据库中,根据分布式查询语句进行检索,得到目标数据;
处理模块500,用于对目标数据进行格式统一处理,将处理后的目标数据以目标数据结构的形式存储。
在其中一实施方式中,创建模块100还用于在客户端中安装目标格式的分布式搜索引擎;
基于分布式搜索引擎创建分布式客户端对象;
将分布式客户端对象中的主机和客户端的原始信息替换成分布式搜索引擎的主机和端口的信息,以实现将客户端与分布式搜索引擎建立连接;
根据源数据库的表名和字段之间的关系,创建分布式搜索索引;
基于分布式搜索索引形成分布式搜索数据库。
在其中一实施方式中,导入模块200还用于配置源数据库链接地址,通过脚本的方式将源数据库中的源数据导入分布式搜索数据库。
在其中一实施方式中,构建模块300还用于获取自定义表达式,基于自定义表达式生成特有的伪查询语句;
解析伪查询语句,将解析后的伪查询语句转换为分布式查询语句。
在其中一实施方式中,处理模块500还用于获取分布式搜索索引的名称所对应的字段数据类型映射;
遍历存储目标数据的文档,并在目标数据中提取所需字段的值;
根据每个所需字段的数据类型和目标格式,执行相应的格式化操作;字段的数据类型包括字符串字段、日期字段、数值字段、布尔字段、空值和缺失值等;
将处理后的目标数据以目标数据结构的形式存储;目标数据结构包括列表、字典、对象和树形结构等。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施方式的系统用于实现前述任一实施方式中相应的基于分布式搜索引擎的数据检索方法,并且具有相应的方法实施方式的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施方式方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施方式所述的基于分布式搜索引擎的数据检索方法。
图6示出了本实施方式所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施方式所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施方式所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施方式方案所必需的组件,而不必包含图中所示的全部组件。
上述实施方式的电子设备用于实现前述任一实施方式中相应的基于分布式搜索引擎的数据检索方法,并且具有相应的方法实施方式的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施方式方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施方式所述的基于分布式搜索引擎的数据检索方法。
本实施方式的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施方式的存储介质存储的计算机指令用于使所述计算机执行如上任一实施方式所述的基于分布式搜索引擎的数据检索方法,并且具有相应的方法实施方式的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施方式的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,在本公开的思路下,以上实施方式或者不同实施方式中的技术特征之间也可以进行适当组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施方式的不同方面的许多其它变化,为了简明它们没有在细节中提供。
尽管已经结合了本公开的具体实施方式对本公开进行了描述,但是根据前面的描述,这些实施方式的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施方式。
本公开实施方式旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡未脱离本公开实施方式的精神和原则,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种基于分布式搜索引擎的数据检索方法,其特征在于,包括:
将客户端与分布式搜索引擎建立连接,并创建分布式搜索数据库;
在所述客户端上,将源数据库中的数据导入所述分布式搜索数据库;
获取自定义表达式,基于所述自定义表达式构建分布式查询语句;
在所述分布式搜索数据库中,根据所述分布式查询语句进行检索,得到目标数据;
对所述目标数据进行格式统一处理,将处理后的所述目标数据以目标数据结构的形式存储。
2.根据权利要求1所述的基于分布式搜索引擎的数据检索方法,其特征在于,所述将客户端与分布式搜索引擎建立连接,并创建分布式搜索数据库,包括:
在所述客户端中安装目标格式的分布式搜索引擎;
基于所述分布式搜索引擎创建分布式客户端对象;
将所述分布式客户端对象中的主机和客户端的原始信息替换成所述分布式搜索引擎的主机和端口的信息,以实现将客户端与所述分布式搜索引擎建立连接;
根据所述源数据库的表名和字段之间的关系,创建分布式搜索索引;
基于所述分布式搜索索引形成所述分布式搜索数据库。
3.根据权利要求1所述的基于分布式搜索引擎的数据检索方法,其特征在于,所述在所述客户端上,将源数据库中的数据导入所述分布式搜索数据库,包括:
配置所述源数据库链接地址,通过脚本的方式将所述源数据库中的源数据导入所述分布式搜索数据库。
4.根据权利要求1所述的基于分布式搜索引擎的数据检索方法,其特征在于,所述获取自定义表达式,基于所述自定义表达式构建分布式查询语句,包括:
获取自定义表达式,基于所述自定义表达式生成特有的伪查询语句;
解析所述伪查询语句,将解析后的所述伪查询语句转换为所述分布式查询语句。
5.根据权利要求2所述的基于分布式搜索引擎的数据检索方法,其特征在于,所述对所述目标数据进行格式统一处理,将处理后的所述目标数据以目标数据结构的形式存储,包括:
获取所述分布式搜索索引的名称所对应的字段数据类型映射;
遍历存储所述目标数据的文档,并在所述目标数据中提取所需字段的值;
根据每个所述所需字段的数据类型和目标格式,执行相应的格式化操作;
将处理后的所述目标数据以目标数据结构的形式存储。
6.根据权利要求5所述的基于分布式搜索引擎的数据检索方法,其特征在于,所述字段的数据类型包括字符串字段、日期字段、数值字段、布尔字段、空值和缺失值中的至少一种。
7.根据权利要求5所述的基于分布式搜索引擎的数据检索方法,其特征在于,所述目标数据结构包括列表、字典、对象和树形结构中的至少一种。
8.一种基于分布式搜索引擎的数据检索系统,其特征在于,包括:
创建模块,用于将客户端与分布式搜索引擎建立连接,并创建分布式搜索数据库;
导入模块,用于在所述客户端上,将源数据库中的数据导入所述分布式搜索数据库;
构建模块,用于获取自定义表达式,基于所述自定义表达式构建分布式查询语句;
检索模块,用于在所述分布式搜索数据库中,根据所述分布式查询语句进行检索,得到目标数据;
处理模块,用于对所述目标数据进行格式统一处理,将处理后的所述目标数据以目标数据结构的形式存储。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的基于分布式搜索引擎的数据检索方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至7任一所述的基于分布式搜索引擎的数据检索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410107104.6A CN117931893A (zh) | 2024-01-25 | 2024-01-25 | 基于分布式搜索引擎的数据检索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410107104.6A CN117931893A (zh) | 2024-01-25 | 2024-01-25 | 基于分布式搜索引擎的数据检索方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117931893A true CN117931893A (zh) | 2024-04-26 |
Family
ID=90750424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410107104.6A Pending CN117931893A (zh) | 2024-01-25 | 2024-01-25 | 基于分布式搜索引擎的数据检索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117931893A (zh) |
-
2024
- 2024-01-25 CN CN202410107104.6A patent/CN117931893A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907244B2 (en) | Modifying field definitions to include post-processing instructions | |
CN107239392B (zh) | 一种测试方法、装置、终端及存储介质 | |
CN113641701B (zh) | 一种数据查询方法、系统、异构加速平台及存储介质 | |
CN103873318A (zh) | 一种网站自动化测试方法及自动化测试系统 | |
CN107609302B (zh) | 一种产品工艺结构生成方法及系统 | |
CN113468204A (zh) | 一种数据查询方法、装置、设备、介质 | |
CN111427784A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN108008947B (zh) | 一种编程语句的智能提示方法、装置、服务器及存储介质 | |
CN114253995A (zh) | 数据溯源方法、装置、设备及计算机可读存储介质 | |
CN109697234B (zh) | 实体的多属性信息查询方法、装置、服务器和介质 | |
CN111125216A (zh) | 数据导入Phoenix的方法及装置 | |
CN115757479A (zh) | 数据库的查询优化方法、机器可读存储介质与计算机设备 | |
CN115757174A (zh) | 一种数据库的差异检测方法及装置 | |
CN117931893A (zh) | 基于分布式搜索引擎的数据检索方法及系统 | |
CN114547083A (zh) | 数据处理方法、装置及电子设备 | |
CN111221821B (zh) | 一种ai模型迭代更新方法、电子设备及存储介质 | |
CN111143398B (zh) | 基于扩展sql函数的超大集合查询方法及装置 | |
CN113609128A (zh) | 生成数据库实体类的方法、装置、终端设备及存储介质 | |
CN112463896A (zh) | 档案编目数据处理方法、装置、计算设备及存储介质 | |
US9495413B2 (en) | Systems and methods for accessing data from a database | |
CN110569243A (zh) | 一种数据查询方法、数据查询插件和数据查询服务器 | |
CN116755684B (zh) | OAS Schema的生成方法、装置、设备及介质 | |
CN115840786B (zh) | 一种数据湖数据同步方法及装置 | |
CN111125147B (zh) | 基于扩展预计算模型和sql函数的超大集合分析方法及装置 | |
CN111414330B (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 |