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

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

Method for converting standard SQL into full text retrieval standard query

The invention discloses a standard SQL into text retrieval method of standard query, through custom view, determine the retrieved data source configuration; standard SQL query, BooleanQuery will use the standard SQL query into standard query full-text retrieval. It realizes the conversion from standard SQL query database to full text search and search index library. The invention uses custom and custom view, take the index index configuration, the index of free control, according to the required load data, query the database into use full-text retrieval search index library using the standard SQL query, query speed and system performance is improved significantly, reduce the pressure of the database.

【技术实现步骤摘要】
一种标准SQL转换成全文检索标准查询的方法
本专利技术涉及一种标准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的查询条件为AandB,则会转化为索引条件AMUSTB;若标准SQL的查询条件为AorB,则会转化为索引条件ASHOULDB;若标准SQL的查询条件为AnotB,则会转化为索引条件AMUST_NOTB。采用上述技术方案后,本专利技术具有以下优点: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的查询条件为AandB,则会转化为索引条件AMUSTB;若标准SQL的查询条件为AorB,则会转化为索引条件ASHOULDB;若标准SQL的查询条件为AnotB,则会转化为索引条件AMUST_NOTB。例如图2和4所示的配置,是查找索引中INSTANCE_STATE字段等于0并且INSTANCE_NODE_TRANSACTOR_0字段等于#{USER_UNID}或者INSTANCE_TEMP_NODE_TRAN_ID字段包含#{USER_UNID}的相应数据。通过BooleanQuery转换为全文检索标准查询条件变成:INSTANCE_STATE=0MUSTINSTANCE_NODE_TRANSACTOR_0=#{USER_UNID}SHOULDINSTANCE_TEMP_NODE_TRAN_IDLIKE‘%#{USER_UNID}%’。再结合之前的配置的关联索引,可以组成一条索引查询语句。本专利技术的重点在于:采用自定义索引和自定义索引配置方式,可使索引方式自由掌控,按照所需来加载数据。本专利技术实现了从用SQL语句搜索数据库向用全文检索的Query查询语句查找索引的转换,用全文检索来搜索数据降低了数据库压力,大大提升整体性能。本专利技术是将标准SQL转换为全文检索标准查询,用全文检索技术搜索索引库来代替标准SQL查询数据库,加载本文档来自技高网...
一种标准SQL转换成全文检索标准查询的方法

【技术保护点】
一种标准SQL转换成全文检索标准查询的方法,其特征在于,包括:通过自定义视图,确定检索的数据源;配置标准的SQL查询条件,利用BooleanQuery将标准SQL查询条件转化为全文检索的的标准查询语句。

【技术特征摘要】
1.一种标准SQL转换成全文检索标准查询的方法,其特征在于,包括:通过自定义视图,确定检索的数据源;配置标准的SQL查询条件,利用BooleanQuery将标准SQL查询条件转化为全文检索的的标准查询语句。2.如权利要求1所述的一种标准SQL转换成全文检索标准查询的方法,包括以下步骤:所述方法具体包括以下步骤:步骤1、新增索引:在SQL查询视图中配置标准SQL语句;步骤2、关联索引:在视图配置中新增所需视图,在视图中关联步骤1新增的索引并用全文检索的方式进行加载;步骤3、索引字段和方式配置:在索引配置视图中配置标准SQL的查询条件;步骤4、利用BooleanQuery将标准SQL转化成全文检索标准查询语句,其具体包括:利用BooleanQuery组合查询将SQL中的条件字段按照所配置的标准SQL的查询条件组合起来构成索引...

【专利技术属性】
技术研发人员:张建辉陈志江林铁民傅湘萍
申请(专利权)人:南威软件股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1