CN115408582A - 数据搜索方法、装置、电子设备及存储介质 - Google Patents
数据搜索方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115408582A CN115408582A CN202211216029.4A CN202211216029A CN115408582A CN 115408582 A CN115408582 A CN 115408582A CN 202211216029 A CN202211216029 A CN 202211216029A CN 115408582 A CN115408582 A CN 115408582A
- Authority
- CN
- China
- Prior art keywords
- search
- information
- target
- data
- 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
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/903—Querying
- G06F16/90335—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据搜索方法、装置、电子设备及存储介质,依据本申请实施例,首先对用户输入的数据查询请求进行解析,得到查询条件信息和与数据查询请求相匹配的目标搜索引擎,之后根据查询条件信息,获取到与目标搜索引擎相匹配的搜索属性信息,再对搜索属性信息中的至少部分信息进行改写处理,得到与目标搜索引擎相匹配的目标搜索语句,该目标搜索语句是目标搜索引擎可以直接使用来进行数据搜索的语句。通过上面的方式能够实现对不同搜索引擎的对接,提供了对不同搜索引擎进行对接的标准化、通用化操作方式。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种数据搜索方法、装置、电子设备及存储介质。
背景技术
在大数据领域的搜索场景中,例如在元数据搜索场景中,存在各种搜索引擎,各搜索引擎对应的数据库中数据的存储形式或存储格式可能不同,相应的,不同搜索引擎的数据搜索要求也各不相同。
为了满足不同类型的数据搜索要求,亟需一种通用的解决方案来对每一类搜索引擎进行对接,完成相应的数据搜索功能。
发明内容
本申请实施例提供一种数据搜索方法、装置、电子设备及存储介质,以利用通用的方式实现对不同搜索引擎的对接。
第一方面,本申请实施例提供了一种数据搜索方法,包括:
解析用户输入的数据查询请求,确定查询条件信息和与所述数据查询请求相匹配的目标搜索引擎;
确定所述目标搜索引擎的、与所述查询条件信息相匹配的搜索属性信息;
对所述搜索属性信息中的至少部分信息进行改写处理,得到与所述目标搜索引擎相匹配的目标搜索语句;
将所述目标搜索语句发送给所述目标搜索引擎,以使所述目标搜索引擎利用所述目标搜索语句进行数据搜索。
第二方面,本申请实施例提供了一种数据搜索装置,包括:
查询处理模块,用于解析用户输入的数据查询请求,确定查询条件信息和与所述数据查询请求相匹配的目标搜索引擎;
属性获取模块,用于确定所述目标搜索引擎的、与所述查询条件信息相匹配的搜索属性信息;
改写模块,用于对所述搜索属性信息中的至少部分信息进行改写处理,得到与所述目标搜索引擎相匹配的目标搜索语句;
发送模块,用于将所述目标搜索语句发送给所述目标搜索引擎,以使所述目标搜索引擎利用所述目标搜索语句进行数据搜索。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现上述任一项所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
与现有技术相比,本申请具有如下优点:
依据本申请实施例,首先对用户输入的数据查询请求进行解析,得到查询条件信息和与所述数据查询请求相匹配的目标搜索引擎,之后根据查询条件信息,获取到与目标搜索引擎相匹配的搜索属性信息,再对搜索属性信息中的至少部分信息进行改写处理,得到与目标搜索引擎相匹配的目标搜索语句。由于该目标搜索语句是对目标搜索引擎的搜索属性信息进行改写处理得到的,因此目标搜索引擎可以直接使用该语句来进行数据搜索。通过上面的方式能够实现对不同搜索引擎的对接,能够方便地在不同的搜索引擎中进行数据搜索,提供了对不同搜索引擎进行对接的标准化、通用化操作方式。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请提供的数据搜索方案的场景示意图;
图2为本申请一实施例的数据搜索方法的流程图;
图3为本申请一实施例的生成所述查询条件信息的流程图;
图4为本申请一实施例的目标语法树的示意图;
图5为本申请另一实施例的数据搜索方法的流程图;
图6是本申请再一实施例的数据搜索方法的流程图;
图7是本申请一实施例的数据搜索装置的结构框图;
图8是本申请另一实施例的数据搜索装置的结构框图;以及
图9为用来实现本申请实施例的电子设备的框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的构思或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的,而非限制性的。
为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。
图1为示例性的用于实现本申请实施例的方法的一个应用场景的示意图。搜索转换部件101用于将用户输入的数据查询请求进行转换,得到与某一搜索引擎相匹配的目标搜索语句,利用该目标搜索语句能够实现与该搜索引擎的对接。搜索转换部件101可以与多个搜索引擎102对接。示例性地,搜索引擎102可以是数据仓库Hive对应的搜索引擎、云原生大数据计算服务MaxCompute对应的搜索引擎、关系型数据库管理系统MySQL对应的搜索引擎等。
用户将数据查询请求输入到搜索转换部件上之后,搜索转换部件解析用户输入的数据查询请求,得到查询条件信息;之后根据查询条件信息,确定目标搜索引擎,并根据查询条件信息获取到目标搜索引擎的相应的搜索属性信息,之后对获取的搜索属性信息中的至少部分信息进行改写处理,得到与目标搜索引擎相匹配的目标搜索语句。最后将所述目标搜索语句发送给所述目标搜索引擎,目标搜索引擎利用接收的目标搜索语句进行数据搜索,并将搜索结果反馈给搜索转换部件。
通过上面的方式能够实现对不同搜索引擎的对接,能够方便地在不同的搜索引擎中进行数据搜索,提供了对不同搜索引擎进行对接的标准化、通用化操作方式。
本申请实施例提供了一种数据搜索方法,该数据搜索方法应用于搜索转换部件,如图2所示为本申请一实施例的数据搜索方法的流程图,可以包括:
S201、解析用户输入的数据查询请求,得到查询条件信息和与所述数据查询请求相匹配的目标搜索引擎。
数据查询请求包括用户需要查询的信息,示例性地,用户需要查询的信息可以是某一种数据源中的元数据、内网中的某一作者的文章等等。示例性地,上述数据查询请求可以是:owner=张三and tableAttribute=竞品表、name:’table’and owner=”李四”等。
用户输入数据查询请求之后,搜索转换部件可以通过词法解析程序和语法解析程序对数据查询请求进行解析,以生成查询条件信息。其中,词法解析程序可以用于对数据查询请求进行分解,得到至少一个查询关键词;语法解析程序用于根据各个查询关键词生成特定数据结构的语法树。
之后,搜索转换部件根据各个查询关键字形成的语法树,生成搜索转换部件能够识别的查询条件信息。这里的搜索插件可以是设置在搜索转换部件上的插件。
上述用户既可以是前端用户,也可以是后端用户,本申请对此并不进行限定。对于前端用户来讲输入上述数据查询请求可能比较困难,因此可以将数据查询请求的具体语句公开给用户,例如以手册的形式公开给用户使用。
S202、确定所述目标搜索引擎的、与所述查询条件信息相匹配的搜索属性信息。
数据查询请求中还可以包括搜索转换部件需要对接的目标搜索引擎的标识符等能够标识搜索引擎的信息,因此在执行此步骤之前,可以通过对数据查询请求的解析,确定目标搜索引擎。另外,数据查询请求中也可以不包括能够标识搜索引擎的信息,通过对数据查询请求的解析,确定了用户的需求(用户的需求包含在上述查询条件信息中)之后,根据各个搜索引擎能够提供的信息,从各个搜索引擎中筛选能够满足用户需求的引擎,得到上述目标搜索引擎。例如,用户需要搜索张三的竞品表,此竞品表只存储在竞品数据库中,那么用于对竞品数据库进行搜索的引擎即为目标搜索引擎。
目标搜索引擎的搜索属性信息可以存储在搜索转换部件中,也可以存储在目标搜索引擎中,还可以存储在上述搜索插件中。因此,这里既可以从搜索转换部件中获取搜索属性信息、也可以从目标搜索引擎中获取搜索属性信息,还可以从搜索插件中获取搜索属性信息。
示例性地,搜索属性信息可以包括以下至少一项搜索字段、搜索能力信息、搜索字段的搜索权重、执行的搜索操作。搜索字段为用户需要搜索的信息在目标搜索引擎中的表达方式,如在目标搜索引擎中,表格的名称用name字段表示,表格的所有者用owner字段表示。执行的搜索操作为用户数据搜索所需要执行的操作,例如执行的搜索操作为全匹配查询、分词查询。所述搜索能力信息包括以下至少一项:是否支持前缀搜索的信息、是否支持分词搜索的信息、是否支持全匹配搜索的信息、是否支持范围搜索的信息。搜索能力信息用于表征目标搜索引擎能够支持的搜索能力。
S203、对所述搜索属性信息中的至少部分信息进行改写处理,得到与所述目标搜索引擎相匹配的目标搜索语句。
示例性地,可以根据执行的搜索操作对搜索属性信息中的搜索字段进行改写,得到目标搜索语句。
在搜索属性信息包括搜索能力信息的情况下,需要判断目标搜索引擎是否支持预设的搜索能力,例如判断是否支持全匹配搜索的能力,在确定目标搜索引擎支持预设的搜索能力的情况下,对搜索属性信息中的至少部分信息进行改写处理,得到目标搜索语句。
例如,用户输入的数据查询请求为databaseName=mingrong,关系型数据库Mysql对应的目标搜索引擎的databaseName字段表达为dbName,该目标搜索引擎能够支持“=”对应的全匹配搜索,并且在该目标搜索引擎中使用的语法也是“=”,因此改写后的目标搜索语句可以是where<dbName=mingrong>。
再例如,用户输入的数据查询请求为name:’table’and owner=”李四”,目标搜索引擎为分布式搜索和分引擎ElasticSearch的字段name表达为tableName,owner字段表达为owner,目标搜索引擎能够支持“=”对应的全匹配搜索,因此改写后的目标搜索语句可以是:
S204、将所述目标搜索语句发送给所述目标搜索引擎,以使所述目标搜索引擎利用所述目标搜索语句进行数据搜索。
目标搜索引擎接收到搜索转换部件发送的目标搜索语句之后,可以按照目标搜索语句在对应的数据源中进行数据搜索,并将搜索结果反馈给搜索转换部件。
在一些实施例中,可以利用如下方式确定查询条件信息:
首先,对用户输入的数据查询请求进行解析,得到至少一个查询关键词;之后,根据所述至少一个查询关键词,生成与所述数据查询请求相匹配的目标语法树;最后,遍历所述目标语法树,生成所述查询条件信息。
示例性地,如图3所示,可以利用词法解析程序lexer对数据查询请求进行解析,得到查询关键词tokens;之后,利用语法解析程序parser按照预设的语法树结构信息,结合每个查询关键词,生成与数据查询请求相匹配的目标语法树(abstract syntax tree,AST);最后,遍历程序Vistor遍历所述目标语法树,生成所述查询条件信息。上述词法解析程序lexer、语法解析程序parser以及遍历程序Vistor都可以设置在搜索转换部件上。
上述语法树结构信息可以表征预设的语法树的架构,将各个查询关键词填到语法树的架构上,得到上述目标语法树。如图4所示,目标语法树中可以包括:查询关键词的具体取值value;查询关键词对应的操作operator,例如分词查询、包含某属性has等;包含至少一个关键词的子表达式Predicate;子表达式的标识符ID;数据查询请求对应的描述信息expression等。
在一些实施例中,搜索转换部件可以从搜索插件中获取搜索属性信息,具体地,搜索转换部件访问搜索插件,从搜索插件获取目标搜索引擎的、与查询条件信息相对应的搜索属性信息。
具体地,如图5所示,搜索插件包括第一功能单元PropertyProvider和第二功能单元perty;所述第一功能单元PropertyProvider中存储有各个搜索引擎的各个查询条件信息对应的属性类别;所述第二功能单元Property中存储有各个属性类别对应的属性信息。其中,用户通过第一功能单元PropertyProvider还可以设置查询条件信息与属性类别之间的第一映射关系,和/或,所述属性类别与所述属性信息之间的第二映射关系;上述第一映射关系和第二映射关系统称为映射关系,并且存储在搜索插件中。
示例性地,可以通过如下步骤获取搜索属性信息:
搜索转换部件访问搜索插件的所述第一功能单元,从所述第一功能单元中获取目标搜索引擎的、与所述查询条件信息相对应的至少一个属性类别。搜索转换部件生成包括所述至少一个属性类别的查询信息,并访问所述第二功能单元,从所述第二功能单元中获取与各所述属性类别对应的属性信息;搜索转换部件将接收的所述属性信息作为所述搜索属性信息。上述查询条件信息可以包括用户所要搜索的属性的名称等信息。
示例性地,还可以通过如下步骤获取搜索属性信息:
搜索转换部件访问第一功能单元,所述第一功能单元确定与所述查询条件信息相对应的至少一个属性类别,基于所述第二功能单元中存储的信息,确定各属性类别对应的属性信息,搜索转换部件将确定的所述属性信息作为所述搜索属性信息。上述查询条件信息可以包括用户所要搜索的数据的关键词等信息。
在一些实施例中,利用本申请的方法可以执行的搜索操作可以包括以下至少一种:分词搜索、全匹配搜索、前缀搜索、不等于、多分词搜索、分组操作、大于、大于或等于、小于、小于或等于、包含某属性has。
上述搜索操作的说明如下表1所示:
表1
上述搜索属性信息包括不仅可以包括搜索字段、搜索能力信息,还可以包类型,如下表2所示:
表2
通过上述搜索插件实现了将搜索属性信息的定义提供给了用户,用户可以定义搜索字段、搜索能力信息,在提高场景适应能力和灵活度的同时,能够利用通用的方式解决不同搜索引擎对接的问题,降低成本,提高了对接效率。
在一些实施例中,可以利用如下步骤对搜索属性信息中的至少部分信息进行改写处理,以得到目标搜索语句:
利用与所述目标搜索引擎相匹配的搜索改写方式,对所述搜索属性信息中的至少部分信息进行改写处理,得到与所述目标搜索引擎相匹配的目标搜索语句。
搜索改写方式是与目标搜索引擎相匹配的,不同的目标搜索引擎使用的语法可能不相同,例如Mysql对应的搜索引擎和ElasticSearch搜索引擎使用的语法就不同,因此需要利用与目标搜索引擎相匹配的搜索改写方式,对搜索属性信息中的至少部分信息进行改写处理,以得到与所述目标搜索引擎相匹配的目标搜索语句,具体实例可参见前面的改写例子。另外,在改写的过程中可以基于语法糖进行,示例性地,搜索改写方式可以包括自定义默认搜索对应的改写方式、自定义时间粒度对应的改写方式、自定义时间格式搜索对应的改写方式、自定义日期范围搜索对应的改写方式。具体地,见下表3所示:
表3
上述语法糖的改写方式也需要与目标搜索引擎相匹配,例如在目标搜索引擎为Mysql对应的引擎时,针对上述自定义时间格式搜索最终的目标搜索语句可以是where<gmtCreateTime<=gmtCreateTime in[xxx]and gmtCreateTime>=gmtCreateTime in[yyy]>。上面表格3中语法糖改写后的语句为伪代码,方便理解。通过基于语法糖的搜索改写方式能够提高生成目标搜索语句的效率。
通过上述实施例,能够实现利用相同的方式对接到不同的搜索引擎,下面再通过一个具体的实施例对本申请的数据搜索方法进行说明。
如图5所示,数据搜索方法可以包括如下步骤:
步骤一、用户向搜索转换部件输入数据查询请求。
步骤二、搜索转换部件的查询单元解析数据查询请求,并根据解析得到的查询关键词生成目标语法树。
步骤三、搜索转换部件的查询建立单元遍历目标语法树,生成查询条件信息。
步骤四、搜索转换部件访问搜索插件,根据查询建立单元生成的查询条件信息从第一功能单元中获取与查询条件信息相匹配的属性类别;其中,所述第一功能单元中存储有人工设置的查询条件信息与属性类别的第一映射关系。搜索转换部件访问搜索插件,根据属性类别从第二功能单元中获取与属性类别对应的属性信息,得到与查询条件信息对应的搜索属性信息;其中,第二功能单元中存储有属性类别与属性信息之间的第二映射关系。
步骤五、在根据搜索属性信息,确定目标搜索引擎支持预设的搜索能力时,查询建立单元利用与所述目标搜索引擎相匹配的搜索改写方式,对所述搜索属性信息中的至少部分信息进行改写处理,得到与所述目标搜索引擎相匹配的目标搜索语句,并将目标搜索语句反馈给用户。其中,搜索属性信息包括以下至少一项搜索字段、搜索能力信息、搜索字段的搜索权重、执行的搜索操作;所述搜索能力信息包括以下至少一项:是否支持前缀搜索的信息、是否支持分词搜索的信息、是否支持全匹配搜索的信息、是否支持范围搜索的信息。
以上实施例中,搜索插件部署在搜索转换部件上,在另外一些实施例中,搜索插件还可以部署在搜索引擎上,本申请实施例还提供了一种在搜索引擎或搜索引擎对应的搜索插件上执行的数据搜索方法,如图6所示,该数据搜索方法可以包括:
S601、接收所述搜索转换部件发送的查询条件信息,并确定与所述查询条件信息相对应的至少一个属性类别的属性信息;其中,所述查询条件信息是由所述搜索转换部件对用户输入的数据查询请求进行解析得到的。
搜索转换部件对用户输入的数据查询请求进行解析得到查询条件信息的方案,与上述实施例中相关的方案相同,这里不再赘述。
搜索引擎对应的搜索插件,根据接收的查询条件信息,确定与所述查询条件信息相对应的至少一个属性类别的属性信息的步骤,也与上述实施例中相关的方案相同,这里不再赘述。
S602、将确定的属性信息作为搜索属性信息发送给所述搜索转换部件,以使所述搜索转换部件根据接收的所述搜索属性信息,生成与所述搜索引擎相匹配的目标搜索语句。
搜索转换部件根据接收的所述搜索属性信息,生成与所述搜索引擎相匹配的目标搜索语句的步骤与上述实施例中相关的方案相同,这里不再赘述。
在一些实施例中,搜索插件包括第一功能单元和第二功能单元;所述第一功能单元中存储有该搜索引擎的属性类别与查询条件信息之间的映射关系;所述第二功能单元中存储有属性类别与属性信息之间的映射关系。
上述接收所述搜索转换部件发送的查询条件信息,并确定与所述查询条件信息相对应的至少一个属性类别的属性信息,具体可以利用如下步骤实现:
所述第一功能单元接收所述搜索转换部件发送的查询条件信息,并确定与所述查询条件信息相对应的至少一个属性类别;将所述至少一个属性类别发送给所述搜索转换部件,所述搜索转换部件生成包括所述至少一个属性类别的类别请求,并将所述类别请求发送给所述第二功能单元;所述第二功能单元接收所述类别请求,并确定各所述属性类别对应的属性信息。
上述接收所述搜索转换部件发送的查询条件信息,并确定与所述查询条件信息相对应的至少一个属性类别的属性信息,具体还可以利用如下步骤实现:
第一功能单元接收搜索转换部件发送的查询条件信息,所述第一功能单元确定与所述查询条件信息相对应的至少一个属性类别,基于所述第二功能单元中存储的信息,确定各属性类别对应的属性信息。
在一些实施例中,用户可以通过搜索插件设置属性信息、查询条件信息与属性类别之间的第一映射关系、属性类别与所述属性信息之间的第二映射关系;第一映射关系和第二映射关系统称为映射关系,并且可以存储在所述搜索插件中。
上述数据搜索方法可以实现为一种领域专用语言(Domain-specific language,DSL),利用该领域专用语言可以生成目标搜索语句,实现与不同搜索引擎的对接。
上述实施例中的元数据,可以为描述数据的数据,主要包括描述数据的属性的信息或数据,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
上述实施例中的数据源,是指数据的来源,即提供某种所需要数据的器件或原始媒体。
语法糖,指计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用,语法糖让程序更加简洁,有更高的可读性。
上述实施例的数据搜索方法不仅能够利用通用的方式对接不同的搜索引擎,还能够实现较多类型的搜索,例如前缀搜索,同时通过插件化的方式将属性信息、查询条件信息与属性类别之间的第一映射关系、属性类别与所述属性信息之间的第二映射关系等开放给用户进行设置,提高了场景适应能力,极大的减少对接不同搜索引擎的工作量。
在一些实施例中,如果后端的用户想要在内网中查询一些数据,例如在内网中查询王五的数据表,该数据表存储在关系型数据库Mysql中,那么Mysql对应的搜索引擎即为目标搜索引擎。用户可以向搜索转换部件输入数据查询请求tableName=王五,搜索转换部件通过判断确定存储该数据表的数据库为Mysql,进而定位到Mysql对应的搜索引擎为目标搜索引擎;之后,搜索转换部件通过确定查询条件信息、获取与该目标搜索引擎相匹配的搜索属性信息、对搜索属性信息的信息进行改写处理,可以得到与目标搜索引擎相匹配的目标搜索语句where<tableN=王五>。之后,将该目标搜索语句发送给Mysql对应的搜索引擎,就可以在Mysql中查询到王五的数据表。
在一些实施例中,如果前端的用户想要查找历史来源是IP地址为AAA,存储位置为C盘的元数据,这些元数据存储在ElasticSearch对应的数据库中,用户可以向搜索转换部件输入数据查询请求IP地址:’AAA’and存储位置=”C盘”,索转换部件通过判断确定存储元数据的数据库对应的引擎为ElasticSearch,进而将ElasticSearch作为目标搜索引擎。之后,搜索转换部件通过确定查询条件信息、获取与该目标搜索引擎相匹配的搜索属性信息、对搜索属性信息的信息进行改写处理,可以得到与ElasticSearch相匹配的目标搜索语句:
之后,将该目标搜索语句发送给ElasticSearch,就可以在查询到IP地址为AAA,存储位置为C盘的元数据。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供一种应用于搜索转换部件上的数据搜索装置。如图7所示为本申请一实施例的数据搜索装置的结构框图,该数据搜索可以包括:
查询处理模块710,用于解析用户输入的数据查询请求,确定查询条件信息。
属性获取模块720,用于确定所述目标搜索引擎的、与所述查询条件信息相匹配的搜索属性信息。
改写模块730,用于对所述搜索属性信息中的至少部分信息进行改写处理,得到与所述目标搜索引擎相匹配的目标搜索语句。
发送模块740,用于将所述目标搜索语句发送给所述目标搜索引擎,以使所述目标搜索引擎利用所述目标搜索语句进行数据搜索。
在一些实施例中,所述查询处理模块710在解析用户输入的数据查询请求,得到查询条件信息时,用于:
对用户输入的数据查询请求进行解析,得到至少一个查询关键词;
根据预设的语法树结构信息,利用所述至少一个查询关键字,生成与所述数据查询请求相匹配的目标语法树;
遍历所述目标语法树,生成所述查询条件信息。
在一些实施例中,所述属性获取模块720在确定所述目标搜索引擎的、与所述查询条件信息相匹配的搜索属性信息时,用于:
访问第一搜索插件,从所述第一搜索插件中获取到所述目标搜索引擎的,与所述查询条件信息相匹配搜索属性信息;其中,所述第一搜索插件中预先配置有各个搜索引擎的搜索属性信息与查询条件信息之间的映射关系。
在一些实施例中,所述属性获取模块720在确定所述目标搜索引擎的、与所述查询条件信息相匹配的搜索属性信息时,用于:
访问第二搜索插件,从所述第二搜索插件中获取到所述目标搜索引擎的、与所述查询条件信息相匹配的属性类别;
生成包含所述属性类别的查询信息;
访问第二搜索插件,根据所述查询信息,从所述搜索插件中获取到与所述属性类别相匹配的属性信息。
在一些实施例中,所述搜索属性信息包括以下至少一项搜索字段、搜索能力信息、搜索字段的搜索权重、执行的搜索操作;和/或,
所述搜索能力信息包括以下至少一项:是否支持前缀搜索的信息、是否支持分词搜索的信息、是否支持全匹配搜索的信息、是否支持范围搜索的信息。
在一些实施例中,所述改写模块730在对所述搜索属性信息中的至少部分信息进行改写处理,得到与所述目标搜索引擎相匹配的目标搜索语句时,用于:
利用与所述目标搜索引擎相匹配的搜索改写方式,对所述搜索属性信息中的至少部分信息进行改写处理,得到与所述目标搜索引擎相匹配的目标搜索语句。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供一种应用于搜索引擎上的数据搜索装置。如图8所示为本申请一实施例的数据搜索装置的结构框图,可以包括:
信息接收模块810,用于接收所述搜索转换部件发送的查询条件信息,并确定与所述查询条件信息相对应的至少一个属性类别的属性信息;其中,所述查询条件信息是由所述搜索转换部件对用户输入的数据查询请求进行解析得到的。
信息反馈模块820,用于将确定的属性信息作为搜索属性信息发送给所述搜索转换部件,以使所述搜索转换部件根据接收的所述搜索属性信息,生成与所述搜索引擎相匹配的目标搜索语句。
在一些实施例中,所述搜索插件包括第一功能单元和第二功能单元;所述第一功能单元中存储有该搜索引擎属性类别与查询条件信息之间的映射关系;所述第二功能单元中存储有属性类别与属性信息之间的映射关系;
所述信息接收模块810在接收所述搜索转换部件发送的查询条件信息,并确定与所述查询条件信息相对应的至少一个属性类别的属性信息时,用于:
所述第一功能单元接收所述搜索转换部件发送的查询条件信息,并确定与所述查询条件信息相对应的至少一个属性类别;
将所述至少一个属性类别发送给所述搜索转换部件,以使所述搜索转换部件生成包括所述至少一个属性类别的类别请求,并将所述类别请求发送给所述第二功能单元;
所述第二功能单元接收所述类别请求,并确定各所述属性类别对应的属性信息。
在一些实施例中,第一功能单元还用于:
接收用户设置的映射关系;其中,所述映射关系包括该搜索引擎的属性类别与查询条件信息之间的第一映射关系,和/或,所述属性类别与所述属性信息之间的第二映射关系;
将所述映射关系存储在所述搜索插件中。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,并具备相应的有益效果,在此不再赘述。
图9为用来实现本申请实施例的电子设备的框图。如图9所示,该电子设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。处理器920执行该计算机程序时实现上述实施例中的方法。存储器910和处理器920的数量可以为一个或多个。
该电子设备还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是A处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机访问存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机访问存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM均可用。例如,静态随机访问存储器(Static RAM,SRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)、同步动态随机访问存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机访问存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机访问存储器(Enhanced SDRAM,ESDRAM)、同步链接动态随机访问存储器(Sync link DRAM,SLDRAM)和直接内存总线随机访问存储器(DirectRambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生依照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中描述的或在此以其他方式描述的任何过程或方法可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中描述的或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的示例性实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请记载的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种数据搜索方法,其特征在于,包括:
解析用户输入的数据查询请求,得到查询条件信息和与所述数据查询请求相匹配的目标搜索引擎;
确定所述目标搜索引擎的、与所述查询条件信息相匹配的搜索属性信息;
对所述搜索属性信息中的至少部分信息进行改写处理,得到与所述目标搜索引擎相匹配的目标搜索语句;
将所述目标搜索语句发送给所述目标搜索引擎,以使所述目标搜索引擎利用所述目标搜索语句进行数据搜索。
2.根据权利要求1所述的方法,其特征在于,所述解析用户输入的数据查询请求,得到查询条件信息,包括:
对用户输入的数据查询请求进行解析,得到至少一个查询关键词;
根据预设的语法树结构信息,利用所述至少一个查询关键字,生成与所述数据查询请求相匹配的目标语法树;
遍历所述目标语法树,生成所述查询条件信息。
3.根据权利要求1所述的方法,其特征在于,确定所述目标搜索引擎的、与所述查询信息相匹配的搜索属性信息,包括:
访问第一搜索插件,从所述第一搜索插件中获取到所述目标搜索引擎的,与所述查询条件信息相匹配搜索属性信息;其中,所述第一搜索插件中预先配置有各个搜索引擎的搜索属性信息与查询条件信息之间的映射关系。
4.根据权利要求1所述的方法,其特征在于,所述确定所述目标搜索引擎的、与所述查询信息相匹配的搜索属性信息,包括:
访问第二搜索插件,从所述第二搜索插件中获取到所述目标搜索引擎的、与所述查询条件信息相匹配的属性类别;
生成包含所述属性类别的查询信息;
访问第二搜索插件,根据所述查询信息,从所述搜索插件中获取到与所述属性类别相匹配的属性信息。
5.根据权利要求3或4所述的方法,其特征在于,所述搜索属性信息包括以下至少一项搜索字段、搜索能力信息、搜索字段的搜索权重、执行的搜索操作;和/或,
所述搜索能力信息包括以下至少一项:是否支持前缀搜索的信息、是否支持分词搜索的信息、是否支持全匹配搜索的信息、是否支持范围搜索的信息。
6.根据权利要求1所述的方法,其特征在于,所述对所述搜索属性信息中的至少部分信息进行改写处理,得到与所述目标搜索引擎相匹配的目标搜索语句,包括:
利用与所述目标搜索引擎相匹配的搜索改写方式,对所述搜索属性信息中的至少部分信息进行改写处理,得到与所述目标搜索引擎相匹配的目标搜索语句。
7.根据权利要求1所述的方法,其特征在于,所述数据查询请求包括针对元数据的数据查询请求;所述目标搜索引擎包括用于对存储元数据的数据库进行搜索的引擎。
8.根据权利要求1所述的方法,其特征在于,所述数据查询请求包括针对内网数据的数据查询请求;所述目标搜索引擎包括用于对存储内网数据的数据库进行搜索的引擎。
9.一种数据搜索装置,其特征在于,包括:
查询处理模块,用于解析用户输入的数据查询请求,确定查询条件信息和与所述数据查询请求相匹配的目标搜索引擎;
属性获取模块,用于确定所述目标搜索引擎的、与所述查询信息相匹配的搜索属性信息;
改写模块,用于对所述搜索属性信息中的至少部分信息进行改写,得到与所述目标搜索引擎相匹配的目标搜索语句;
发送模块,用于将所述目标搜索语句发送给所述目标搜索引擎,以使所述目标搜索引擎利用所述目标搜索语句进行数据搜索。
10.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211216029.4A CN115408582A (zh) | 2022-09-30 | 2022-09-30 | 数据搜索方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211216029.4A CN115408582A (zh) | 2022-09-30 | 2022-09-30 | 数据搜索方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115408582A true CN115408582A (zh) | 2022-11-29 |
Family
ID=84167009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211216029.4A Pending CN115408582A (zh) | 2022-09-30 | 2022-09-30 | 数据搜索方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115408582A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028598A (zh) * | 2023-03-30 | 2023-04-28 | 紫金诚征信有限公司 | 一种基于es的文件生成方法、装置及计算机可读介质 |
-
2022
- 2022-09-30 CN CN202211216029.4A patent/CN115408582A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028598A (zh) * | 2023-03-30 | 2023-04-28 | 紫金诚征信有限公司 | 一种基于es的文件生成方法、装置及计算机可读介质 |
CN116028598B (zh) * | 2023-03-30 | 2023-05-30 | 紫金诚征信有限公司 | 一种基于es的文件生成方法、装置及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582691B (zh) | 用于控制数据查询的方法和装置 | |
US7809703B2 (en) | Usage of development context in search operations | |
US20040162822A1 (en) | Method and apparatus for converting in-line database queries to stored procedures | |
US10210203B2 (en) | Query translation for searching complex structures of objects | |
CN112256721B (zh) | Sql语句解析方法、系统、计算机设备和存储介质 | |
WO2019190689A1 (en) | Syntax Based Source Code Search | |
US10620925B2 (en) | Code generation for queries in a database system | |
US20070061294A1 (en) | Source code file search | |
CN110555030A (zh) | 一种sql语句的处理方法和装置 | |
US7613693B1 (en) | Preferential ranking of code search results | |
CN112579610A (zh) | 多数据源结构分析方法、系统、终端设备及存储介质 | |
CN111538744A (zh) | 数据血缘的处理方法及装置 | |
US7451159B2 (en) | Method and apparatus for identifying programming object attributes | |
CN111221852A (zh) | 基于大数据的混合查询处理方法及装置 | |
CN115408582A (zh) | 数据搜索方法、装置、电子设备及存储介质 | |
US20190004927A1 (en) | Accessing application runtime data using a query language | |
CN110309214B (zh) | 一种指令执行方法及其设备、存储介质、服务器 | |
CN110674177B (zh) | 数据查询方法、装置、电子设备和存储介质 | |
CN111125216A (zh) | 数据导入Phoenix的方法及装置 | |
CN111221860A (zh) | 基于大数据的混合查询优化方法及装置 | |
CN103778181A (zh) | 浏览器收藏夹中图标的导入方法及装置 | |
CN111159214B (zh) | 一种api的访问方法、装置、电子设备及存储介质 | |
CN111881220A (zh) | 列表存储下的数据操作方法、装置、电子设备和存储介质 | |
TWI507897B (zh) | Search methods and devices | |
CN114238469B (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 |