首页> 中国专利> 一种标准SQL转换成全文检索标准查询的方法

一种标准SQL转换成全文检索标准查询的方法

摘要

本发明公开一种标准SQL转换成全文检索标准查询的方法,通过通过自定义视图,确定检索的数据源;配置标准的SQL查询条件,利用BooleanQuery将标准SQL查询条件转化为全文检索的标准查询语句。实现了从标准SQL查询数据库转换为全文检索搜索索引库。本发明利用视图,采取自定义索引和自定义索引配置方式,可使索引方式自由掌控,按照所需加载数据,利用标准SQL查询数据库转换为利用全文检索技术搜索索引库,显著的提高查询速度和系统的查询性能,降低数据库压力。

著录项

  • 公开/公告号CN106874429A

    专利类型发明专利

  • 公开/公告日2017-06-20

    原文格式PDF

  • 申请/专利权人 南威软件股份有限公司;

    申请/专利号CN201710058874.6

  • 发明设计人 张建辉;陈志江;林铁民;傅湘萍;

    申请日2017-01-23

  • 分类号G06F17/30;

  • 代理机构泉州市文华专利代理有限公司;

  • 代理人陈智海

  • 地址 362000 福建省泉州市丰泽区丰海路南威大厦2号楼

  • 入库时间 2023-06-19 02:35:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-11

    授权

    授权

  • 2017-07-14

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20170123

    实质审查的生效

  • 2017-06-20

    公开

    公开

说明书

技术领域

本发明涉及一种标准SQL转换成全文检索标准查询的方法。

背景技术

由于国产化起步相对较晚,目前市场上基础软硬件不够成熟,国产化整机性能较差,应用系统在国产化环境中频繁出现访问加载慢,卡顿,不稳定等现象,尤其是在加载更新数据方面存在视图加载缓慢的问题。随着大数据的发展,数据储量越来越大,这一问题将愈加严重。

结构化查询语言(简称SQL)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。现今最常见的查询数据的方式是通过SQL的select语句来查询数据库。但是随着数据库内的数据逐渐增多,查询数据的速度越来越慢。

为此,基于国产化操作系统及硬件性能瓶颈的现状,必须提升基础开发运行环境的支撑能力,而全文检索是政务协同办公平台的最核心功能之一,全文检索技术是以数据诸如文字、声音、图像等为主要内容,以检索文献资料的内容而不是外表特征的一种检索技术。全文检索不同于与SQL查询数据库,全文检索技术是通过Query查询语句搜索索引库来查找数据,两者之间查询方式、查询语句不同。本发明人致力于将标准SQL转换为全文检索标准查询的研究,以提高查询效率。因此本发明提出一种标准SQL转换成全文检索标准查询的方法。

发明内容

本发明为解决查询数据和加载视图缓慢的问题,提供了一种标准SQL转换成全文检索标准查询的方法。

为实现上述目的,本发明采用的技术方案为:

一种标准SQL转换成全文检索标准查询的方法,包括:通过自定义视图,确定检索的数据源;配置标准的SQL查询条件,利用BooleanQuery将标准SQL查询条件转化为全文检索的的标准查询语句。

所述方法具体包括以下步骤:

步骤1、新增索引:在SQL查询视图中配置标准SQL语句;

步骤2、关联索引:在视图配置中新增所需视图,在视图中关联步骤1新增的索引并用全文检索的方式进行加载;

步骤3、索引字段和方式配置:在索引配置视图中配置标准SQL的查询条件;

步骤4、利用BooleanQuery将标准SQL转化成全文检索标准查询语句,其具体包括:

利用BooleanQuery组合查询将SQL中的条件字段按照所配置的标准SQL的查询条件组合起来构成索引条件;

将关联索引和索引条件结合起来组成索引查询语句,利用该索引查询语句在索引库中搜索相应的数据。

所述步骤4中,BooleanQuery组合查询条件之间的关系是由类BooleanClause.Occur控制,类BooleanClause.Occur提供了三个参数值:BooleanClause.Occur.MUST,BooleanClause.Occur.MUST_NOT和BooleanClause.Occur.SHOULD;

若配置的标准SQL的查询条件为A and B,则会转化为索引条件A MUST B;

若标准SQL的查询条件为A or B,则会转化为索引条件A SHOULD B;

若标准SQL的查询条件为A not B,则会转化为索引条件A MUST_NOT B。

采用上述技术方案后,本发明具有以下优点:

1、利用视图,采取自定义索引和自定义索引配置方式,可使索引方式自由掌控,用户可以按照所需加载数据,无需再通过后台代码修改索引数据源、索引条件等。

2、从SQL语句向全文检索的Query查询语句的转换,加载视图时不再去查找数据库,而是利用全文检索来搜索索引库,使用全文检索来代替标准SQL查找数据,由原先的检索7万条数据,耗时将近0.7s,提升到了57万条数据,耗时0.15s,显著的提高了查询速度和系统的查询性能。

附图说明

图1是本发明的流程简图;

图2是新增索引视图;

图3是关联索引视图;

图4是索引字段和方式配置视图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明揭示的一种标准SQL转换成全文检索标准查询的方法,包括以下步骤:

步骤1、新增索引:在SQL查询视图中配置标准SQL语句;具体在视图索引配置中新增所需索引,如图2所示,索引路径为索引的存储路径,SQL语句为索引的数据来源;

步骤2、关联索引:如图3所示,在视图配置中新增所需视图,在视图中关联步骤1新增的索引并用全文检索的方式进行加载;

步骤3、索引字段和方式配置:如图4所示,在索引配置视图中配置标准SQL的查询条件;

步骤4、利用BooleanQuery将标准SQL转化成全文检索标准查询语句,其具体包括:

利用BooleanQuery组合查询将SQL中的条件字段按照所配置的标准SQL的查询条件组合起来构成索引条件;条件字段为索引查找的关键字段,且这些字段需为前面所选关联索引里的字段;参数值为所需条件字段的对应值;比较方式为条件字段与参数值之间的关系,关系包括等于、大于、小于、包含等;组合方式是指多个条件字段的组合查询方式,有与(and)、或(or)两种方式;

由于标准SQL查询语言与全文检索标准查询语言不同,这里利用全文检索的BooleanQuery组合查询,将这些条件字段按照所配置的方式组合起来,把标准SQL查询条件转化为索引条件,即将关联索引和索引条件结合起来组成索引查询语句,利用该索引查询语句在索引库中搜索相应的数据。当视图模块加载时,不再去查找数据库,而是利用转化后的全文检索Query查询语句来搜索索引,最后将索引对应的数据加载到页面。

上述步骤4中,BooleanQuery组合查询条件之间的关系是由类BooleanClause.Occur控制,类BooleanClause.Occur提供了三个参数值:BooleanClause.Occur.MUST,BooleanClause.Occur.MUST_NOT和BooleanClause.Occur.SHOULD;

若配置的标准SQL的查询条件为A and B,则会转化为索引条件A MUST B;

若标准SQL的查询条件为A or B,则会转化为索引条件A SHOULD B;

若标准SQL的查询条件为A not B,则会转化为索引条件A MUST_NOT B。

例如图2和4所示的配置,是查找索引中INSTANCE_STATE字段等于0并且INSTANCE_NODE_TRANSACTOR_0字段等于#{USER_UNID}或者INSTANCE_TEMP_NODE_TRAN_ID字段包含#{USER_UNID}的相应数据。通过BooleanQuery转换为全文检索标准查询条件变成:INSTANCE_STATE=0MUST INSTANCE_NODE_TRANSACTOR_0=#{USER_UNID}SHOULDINSTANCE_TEMP_NODE_TRAN_ID LIKE‘%#{USER_UNID}%’。再结合之前的配置的关联索引,可以组成一条索引查询语句。

本发明的重点在于:采用自定义索引和自定义索引配置方式,可使索引方式自由掌控,按照所需来加载数据。本发明实现了从用SQL语句搜索数据库向用全文检索的Query查询语句查找索引的转换,用全文检索来搜索数据降低了数据库压力,大大提升整体性能。

本发明是将标准SQL转换为全文检索标准查询,用全文检索技术搜索索引库来代替标准SQL查询数据库,加载视图的数据时不再去数据库查找数据,而是转变为搜索索引库,解决了国产化环境中应用系统数据查找慢、视图加载缓慢的问题。

本发明技术优势更是在于可以利用视图来自定义索引、自定义索引的条件,自由掌控索引方式,用户可以按照自己的需求来定义索引加载数据,不用再去修改程序代码,方便灵活。另外,利用本发明来查找数据、加载视图,由原先的检索7万条数据,耗时将近0.7s,提升到了57万条数据,耗时0.15s,大大提高了查询速度和系统的查询性能。

上面说明并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号