本发明专利技术公开了一种数据查询方法及装置,用以在数据查询时,根据自身的判断确定各个查询语句的查询路径,提高数据查询的效率。所述数据查询方法,该方法包括:接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。
【技术实现步骤摘要】
本专利技术涉及通信
,尤其涉及一种数据查询的方法及装置。
技术介绍
随着大量的业务数据和社会网络积累的各种数据越来越多,如何在海量的数据存储中快速查询满足条件的记录,是一种比较大的挑战。目前,比较通用的成熟搜索引擎框架全文搜索引擎(lucene),通过倒排索引技术,实现了比较强大的数据查询,该索引引擎有着自身的查询语法,并且对于搜索有着相当大的优势;另外,对于现有的数据库系统,有大量的索引技术,如B+树索引,位图索引等,对于查询速度同样有着较大的提升。当然,目前在数据库的文本搜索功能中,倒排索引有着比较常见的应用。在通用数据库中应用索引引擎,是一种比较可行的方案,这样可以依赖搜索引擎进行查询,加快了简单查询的速度。具体地,参见图1,倒排索引的索引方法,图1中的索引是根据表1的数据库中存储的信息创建的索引。参见表1如下:表1IDCar_numcar_colordev_chnnamecar_imgurl1浙B1234Red北京Picserver12浙A1234black深圳Picserver23浙A1234black杭州Picserver24浙C1234Blue北京Picserver1例如,当查询car_num为浙A*时,需要对每行记录进行遍历,然后匹配,在大量的数据查询过程中,该操作非常耗时。通过使用倒排索引方法,则仅需要遍历图1中的椭圆,即数据字典,就可以得到满足条件的记录。例如,根据图1确定car_num为浙A*包括ID为第2行、第3行等。从而取出n(n不宜过大)条记录,即可实现分页查询。现有技术中常用的数据查询方法:首先接收用户发送的查询语句,并将该查询语句转化为数据库可以识别的逻辑执行计划树,然后根据逻辑执行计划树中的包含的算子采用索引引擎的方式进行数据的查询,当采用索引引擎的方式进行数据查询不能找到结果时,采用数据库查询的方式进行数据查询。然而,采用索引引擎查询数据时,当查询语句中包括联接操作时,分布式索引的操作需要将满足过滤条件的记录全部得到,然后在得到的所有满足条件记录当中进行联接操作,且得到所有满足条件记录的效率是非常低的,由于lucene是分页查询,一次查询仅得到少量记录,导致需要进行多次操作才能得到最终满足的条件;采用数据库查询数据时,当数据量较大时,普通查询,模糊查询的速度没有搜索引擎查询的速度快,从而降低了数据查询的效率。因此,为了避免上述问题,如何在数据查询时,根据自身的判断满足各个查询语句的查询路径,从而提高数据查询的效率是我们亟待解决的技术问题。
技术实现思路
本专利技术实施例提供了一种数据查询方法及装置,用以在数据查询时,根据自身的判断确定各个查询语句的查询路径,提高数据查询的效率。本专利技术实施例提供了一种数据查询方法,该方法包括:接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。在一种可能的实施方式中,本专利技术实施例提供的上述数据查询方法中,所述根据转化后的逻辑执行计划树判断所述查询语句是否为复杂语句,包括:判断转化后的逻辑执行计划树中是否包括联接算子或聚集算子,若是则确定所述查询语句为复杂语句,否则,为简单语句。在一种可能的实施方式中,本专利技术实施例提供的上述数据查询方法中,确定所述查询语句为简单语句后,且根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询之前,该方法还包括:将所述查询语句进行解析,并转化为搜索引擎所支持的语句。在一种可能的实施方式中,本专利技术实施例提供的上述数据查询方法中,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询,具体包括:若所述查询语句为简单语句,判断所述查询语句返回的字段是否包括非索引字段,若是则根据预先创建的索引按照索引引擎的方式进行数据查询;否则根据预先创建的索引按照搜索引擎的方式进行数据查询。在一种可能的实施方式中,本专利技术实施例提供的上述数据查询方法中,根据预先创建的索引按照索引引擎的方式进行数据查询,包括:根据所述索引字段,确定预先创建的索引中所述索引字段对应的ID号,根据所述ID号在数据库中确定所述非索引字段对应的结果。在一种可能的实施方式中,本专利技术实施例提供的上述数据查询方法中,按照倒排索引的方式在本地创建索引。相应地,本专利技术实施例提供了一种数据查询装置,该装置包括:数据接收模块,用于接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;数据判断模块,用于根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。在一种可能的实施方式中,本专利技术实施例提供的上述数据查询装置中,所述数据判断模块根据转化后的逻辑执行计划树判断所述查询语句是否为复杂语句,具体用于:判断转化后的逻辑执行计划树中是否包括联接算子或聚集算子,若是则确定所述查询语句为复杂语句,否则,为简单语句。在一种可能的实施方式中,本专利技术实施例提供的上述数据查询装置中,该装置还包括:转换器,用于在确定所述查询语句为简单语句后,且根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询之前,将所述查询语句进行解析,并转化为搜索引擎所支持的语句。在一种可能的实施方式中,本专利技术实施例提供的上述数据查询装置中,所述数据判断模块根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询,具体用于:若所述查询语句为简单语句,判断所述查询语句返回的字段是否包括非索引字段,若是则根据预先创建的索引按照索引引擎的方式进行数据查询;否则根据预先创建的索引按照搜索引擎的方式进行数据查询。在一种可能的实施方式中,本专利技术实施例提供的上述数据查询装置中,所述数据判断模块根据预先创建的索引按照索引引擎的方式进行数据查询,具体用于:根据所述索引字段,确定预先创建的索引中所述索引字段对应的ID号,根据所述ID号在数据库中确定所述非索引字段对应的结果。本专利技术有益效果如下:通过本专利技术实施例提供的一种数据查询的方法及装置,所述数据查询方法包括:首先接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;然后根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。因此,本专利技术实施例提供的数据查询方法通过判断查询语句是否为复杂句,而选择不同的数据查询路径,若查询语句为复杂句则直接通过数据库查询的方式进行数据查询,若查询语句为简单句则通过搜索引擎或索引引擎的方式进行数据查询,最后反馈查询语句对应的信息给用户,从而提高了数据查询的效率。附图说明图1为现有技术提供的一种倒排索引的方法示意图;图2为本专利技术实施例提供的一种数据查询方法的流程示意图之一;图3为本专利技术实施例提供的一种数据查询方法的流程示意图之二;图4为本专利技术实施例提供的一种数据查询方法的流程示意图之三;图5为本专利技术实施例提供的一种数据查询装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案和本文档来自技高网...
【技术保护点】
一种数据查询方法,其特征在于,该方法包括:接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。
【技术特征摘要】
1.一种数据查询方法,其特征在于,该方法包括:接收用户发送的查询语句,并将所述查询语句转化为逻辑执行计划树;根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,若是,则按照数据库查询方式进行数据查询;否则,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询。2.根据权利要求1所述的方法,其特征在于,所述根据转化后的逻辑执行计划树中包含的算子判断所述查询语句是否为复杂语句,包括:判断转化后的逻辑执行计划树中是否包括联接算子或聚集算子,若是则确定所述查询语句为复杂语句,否则,为简单语句。3.根据权利要求1所述的方法,其特征在于,确定所述查询语句为简单语句后,且根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询之前,该方法还包括:将所述查询语句进行解析,并转化为搜索引擎所支持的语句。4.根据权利要求3所述的方法,其特征在于,根据预先创建的索引按照搜索引擎或者索引引擎的方式进行数据查询,具体包括:若所述查询语句为简单语句,判断所述查询语句返回的字段是否包括非索引字段,若是则根据预先创建的索引按照索引引擎的方式进行数据查询;否则根据预先创建的索引按照搜索引擎的方式进行数据查询。5.根据权利要求4所述的方法,其特征在于,根据预先创建的索引按照索引引擎的方式进行数据查询,包括:根据所述索引字段,确定预先创建的索引中所述索引字段对应的ID号,根据所述ID号在数据库中确定所述非索引字段对应的结果。6.根据权利要求1所述的方法,其特征在于,按照倒排索引的方式在本地创建索引。7.一种数据查询...
【专利技术属性】
技术研发人员:黄乐,刘勋,
申请(专利权)人:浙江大华技术股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。