CN106874429A - 一种标准sql转换成全文检索标准查询的方法 - Google Patents

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

Info

Publication number
CN106874429A
CN106874429A CN201710058874.6A CN201710058874A CN106874429A CN 106874429 A CN106874429 A CN 106874429A CN 201710058874 A CN201710058874 A CN 201710058874A CN 106874429 A CN106874429 A CN 106874429A
Authority
CN
China
Prior art keywords
index
sql
condition
converted
standard
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.)
Granted
Application number
CN201710058874.6A
Other languages
English (en)
Other versions
CN106874429B (zh
Inventor
张建辉
陈志江
林铁民
傅湘萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Linewell Software Co Ltd
Original Assignee
Linewell Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Linewell Software Co Ltd filed Critical Linewell Software Co Ltd
Priority to CN201710058874.6A priority Critical patent/CN106874429B/zh
Publication of CN106874429A publication Critical patent/CN106874429A/zh
Application granted granted Critical
Publication of CN106874429B publication Critical patent/CN106874429B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

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

Claims (3)

1.一种标准SQL转换成全文检索标准查询的方法,其特征在于,包括:通过自定义视图,确定检索的数据源;配置标准的SQL查询条件,利用BooleanQuery将标准SQL查询条件转化为全文检索的的标准查询语句。
2.如权利要求1所述的一种标准SQL转换成全文检索标准查询的方法,包括以下步骤:所述方法具体包括以下步骤:
步骤1、新增索引:在SQL查询视图中配置标准SQL语句;
步骤2、关联索引:在视图配置中新增所需视图,在视图中关联步骤1新增的索引并用全文检索的方式进行加载;
步骤3、索引字段和方式配置:在索引配置视图中配置标准SQL的查询条件;
步骤4、利用BooleanQuery将标准SQL转化成全文检索标准查询语句,其具体包括:
利用BooleanQuery组合查询将SQL中的条件字段按照所配置的标准SQL的查询条件组合起来构成索引条件;
将关联索引和索引条件结合起来组成索引查询语句,利用该索引查询语句在索引库中搜索相应的数据。
3.如权利要求2所述的一种标准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。
CN201710058874.6A 2017-01-23 2017-01-23 一种标准sql转换成全文检索标准查询的方法 Active CN106874429B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710058874.6A CN106874429B (zh) 2017-01-23 2017-01-23 一种标准sql转换成全文检索标准查询的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710058874.6A CN106874429B (zh) 2017-01-23 2017-01-23 一种标准sql转换成全文检索标准查询的方法

Publications (2)

Publication Number Publication Date
CN106874429A true CN106874429A (zh) 2017-06-20
CN106874429B CN106874429B (zh) 2020-08-11

Family

ID=59159036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710058874.6A Active CN106874429B (zh) 2017-01-23 2017-01-23 一种标准sql转换成全文检索标准查询的方法

Country Status (1)

Country Link
CN (1) CN106874429B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943995A (zh) * 2017-09-22 2018-04-20 国网重庆市电力公司电力科学研究院 一种sql查询结果列名及编码自动转换方法
CN109271428A (zh) * 2018-09-11 2019-01-25 北京市计算中心 数据抽取方法及基于地理信息的数据展示方法
CN112632107A (zh) * 2020-12-31 2021-04-09 恒安嘉新(北京)科技股份公司 一种检索方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158958A (zh) * 2007-10-23 2008-04-09 浙江大学 基于MySQL存储引擎的融合查询方法
US20110093486A1 (en) * 2009-10-15 2011-04-21 Institute For Information Industry Data query method, data query system and computer readable and writable recording medium
CN103530351A (zh) * 2013-09-30 2014-01-22 金铠川(天津)科技发展有限公司 一种网络数据信息的搜索方法
CN106227788A (zh) * 2016-07-20 2016-12-14 浪潮软件集团有限公司 一种以Lucene为基础的数据库查询方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158958A (zh) * 2007-10-23 2008-04-09 浙江大学 基于MySQL存储引擎的融合查询方法
US20110093486A1 (en) * 2009-10-15 2011-04-21 Institute For Information Industry Data query method, data query system and computer readable and writable recording medium
CN103530351A (zh) * 2013-09-30 2014-01-22 金铠川(天津)科技发展有限公司 一种网络数据信息的搜索方法
CN106227788A (zh) * 2016-07-20 2016-12-14 浪潮软件集团有限公司 一种以Lucene为基础的数据库查询方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
尤梅等: ""基于Exchange文档数据库的全文索引技术"", 《计算机工程与科学》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943995A (zh) * 2017-09-22 2018-04-20 国网重庆市电力公司电力科学研究院 一种sql查询结果列名及编码自动转换方法
CN107943995B (zh) * 2017-09-22 2022-03-08 国网重庆市电力公司电力科学研究院 一种sql查询结果列名及编码自动转换方法
CN109271428A (zh) * 2018-09-11 2019-01-25 北京市计算中心 数据抽取方法及基于地理信息的数据展示方法
CN112632107A (zh) * 2020-12-31 2021-04-09 恒安嘉新(北京)科技股份公司 一种检索方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN106874429B (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN103631948B (zh) 命名实体的识别方法
CN103810212B (zh) 一种数据库索引的自动创建方法及***
CN109840256B (zh) 一种基于业务实体的查询实现方法
US20110093486A1 (en) Data query method, data query system and computer readable and writable recording medium
US20190138522A1 (en) Query translation for searching complex structures of objects
US20050240570A1 (en) Partial query caching
CN102768674B (zh) 一种基于路径结构的xml数据存储方法
CN106874429A (zh) 一种标准sql转换成全文检索标准查询的方法
US9317556B2 (en) Accelerating database queries containing bitmap-based conditions
US8543614B2 (en) Packing nodes into records to store XML XQuery data model and other hierarchically structured data
CN105843960B (zh) 基于语义树的索引方法和***
CN102054007A (zh) 一种检索方法及检索装置
US10997131B1 (en) Using a member attribute to perform a database operation on a computing device
CN102760165B (zh) 一种使用位图索引的全文检索方法和装置
CN106777343A (zh) 增量分布式索引***和方法
CN107436911A (zh) 模糊查询方法、装置及查询***
CN111435347A (zh) 数据库中关系表的高效扩展方法和***
CN110222238A (zh) 字符串与识别符双向映射的查询方法和***
CN106503195A (zh) 一种基于搜索引擎的翻译词库检索方法及***
CN102346735A (zh) 一种减少哈希冲突的哈希查找方法
US20120310948A1 (en) Indexing for Regular Expressions in Text-Centric Applications
US11238084B1 (en) Semantic translation of data sets
US8756246B2 (en) Method and system for caching lexical mappings for RDF data
CN101221565A (zh) 一种利用嵌入式数据库对flash数据进行管理的方法
US20200201834A1 (en) Systems and methods of efficient extensions of relational tables in a database

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
GR01 Patent grant
GR01 Patent grant