CN106227788A - 一种以Lucene为基础的数据库查询方法 - Google Patents

一种以Lucene为基础的数据库查询方法 Download PDF

Info

Publication number
CN106227788A
CN106227788A CN201610571519.4A CN201610571519A CN106227788A CN 106227788 A CN106227788 A CN 106227788A CN 201610571519 A CN201610571519 A CN 201610571519A CN 106227788 A CN106227788 A CN 106227788A
Authority
CN
China
Prior art keywords
index
lucene
data base
search
inquiry
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
Application number
CN201610571519.4A
Other languages
English (en)
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.)
Inspur Software Group Co Ltd
Original Assignee
Inspur Software Group 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 Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201610571519.4A priority Critical patent/CN106227788A/zh
Publication of CN106227788A publication Critical patent/CN106227788A/zh
Pending legal-status Critical Current

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/245Query processing
    • G06F16/2453Query optimisation
    • 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/22Indexing; Data structures therefor; Storage structures
    • 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/2425Iterative querying; Query formulation based on the results of a preceding query

Landscapes

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

Abstract

本发明公开一种以Lucene为基础的数据库查询方法,参考Lucene索引的层次模式,首先为数据库内资源创建索引,并将索引加进索引资源库内;利用检索条件自索引资源库内查询,获得检索结果并返回;其主要步骤包括创建索引部分、搜寻索引部分。本发明可以明显地改进数据库查询的速率和召回率,能够让查询者取得更为友好的检索体验。

Description

一种以Lucene为基础的数据库查询方法
技术领域
本发明涉及数据库查询分析技术,具体的说是一种以Lucene为基础的数据库查询方法。
背景技术
目前互联网技术在飞速进步,全球的信息资源在逐步增多,各行各业都在向着信息化转变,因此需要保存于计算机之上的重要数据日益增加,各种网站的数据库也变得越来越大,例如电子商务类网站,更是有着海量的数据。以往的仅仅面对于网点的数据库查询办法遭遇了很多难题,例如搜索速度很慢、对用户的反应时间太久搜寻的内容和查询者的真实意愿吻合度不高,搜寻结果的内容不够完整,而且它无法依据查询者的搜索意愿进行排序,不能够提高用户搜寻满意度。
信息搜索意为去信息资源的所有序列内查找,寻出那些与查询者本意相吻合的内容,于信息搜索办法内,全文搜索非常实用,并且它是所有搜索办法内通用性最好的。全文搜索会拿着查询者所提供的搜索条件去和文档内的所有的词语对比一下,和数据库查询的字段比对不一样,全文搜索工具的好处是搜寻范围广而且彻底,能够给查询者最为齐全的检索结果。而且,全文搜索会把查询者提供的检索词和索引库里面有关联的索引词比对,和数据库查询的顺序搜寻对比,它在效率方面要有多个数量级的提升。
Lucene是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene是一套用于全文检索和搜寻的开源程式库,为软件开发人员提供一个简单易用的工具包,以方便的在目标***中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene索引的具体形式是本身独立的,它和具体的使用平台没干系。Lucene的基本表示单位为8个字节,如果***是相互兼容的,则它们能够利用相同的索引资源。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种以Lucene为基础的数据库查询方法。
本发明所述一种以Lucene为基础的数据库查询方法,解决上述技术问题采用的技术方案如下:所述一种以Lucene为基础的数据库查询方法,参考Lucene索引的层次模式,首先为数据库内资源创建索引,并将索引加进索引资源库内;利用检索条件自索引资源库内查询,获得检索结果并返回;其主要步骤包括创建索引部分、搜寻索引部分。
优选的,所述创建索引部分是指,固定地自数据库内采集资源,并为这些资源进行适当的分析与处理,接着对那些资源创建索引并将它们加进索引资源库内。
优选的,所述创建索引部分具体包括如下步骤:
1)首先获取信息资源,即以固定时间去取得数据库内表格记录的资源,作为创造索引文件的资料来源;
2)接着进行信息资源过滤,在某条记录内,选择待存储的字段使得在维持信息完整度的前提下避免无用的资源内容;
3)其次,分析过滤出来的信息内容,进行分词处理;
4)然后是创建索引,将记录内容加载到资源库内,对前面分好的词语创造索引,索引能够存放在硬盘或内存里面;最终把索引文件放到索引资源库里面。
优选的,所述搜寻索引部分主要内容包括,利用查询者所提供的检索条件去取得查询语句,接着分析处理这些查询语句,之后自索引资源库内查询,将最终的检索结果返回给查询者。
优选的,先取得查询者提供的检索条件,其次分析处理所得到的条件语句的句法语法结构,抽取相应的关键词,依照一定规则来构成句法树,然后通过搜寻索引去找到符合句法的数据库记录。
本发明所述一种以Lucene为基础的数据库查询方法与现有技术相比具有的有益效果是:采用本发明,当查询者提供条件含有若干个词语,本发明能够切分出这几个词语,然后经由Term来比对索引库,且能比对改变顺序的数据库信息,能查询出有关系的记录内容并呈现给查询者,可以明显地改进数据库查询的召回率;
当对某个检索词多次查询时,本发明能够把初次查询的结果加载到计算机的缓存里面,所以当下一次查询到同一个检索词语时,直接去计算机缓存内找到相应的信息,而无须对索引资源库重复检索,可以明显提高搜索查询效率;
能够根据索引链表中的词语频次属性去完成词频位置加权排序算法,它的搜寻结果能够依照词语匹配程度去作排序操作,得出更贴进查询者意愿的记录信息,提升了查询者的搜索质量,能够让查询者取得更为友好的检索体验,增强了用户使用***的依赖性。
说明书附图
附图1为所述以Lucene为基础的数据库查询方法的流程图;
附图2为所述Lucene索引的层次结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述一种以Lucene为基础的数据库查询方法进一步详细说明。
本发明参考全文查询工具Lucene的层次模式,提出了一种以Lucene为基础的数据库查询方法,构造了以Lucene为基础的数据库查询扩展方法,经过试验分析,这个查询扩展方法可以明显地改进数据库查询的速率和召回率,能够让查询者取得更为友好的检索体验。
实施例:
本实施例所述以Lucene为基础的数据库查询方法,参考全文查询工具Lucene的层次模式,首先为数据库内资源创建索引,并将索引加进索引资源库内;利用检索条件自索引资源库内查询,获得检索结果并返回;其主要步骤包括创建索引部分、搜寻索引部分。
Lucene关于分析处理文档的接口与文字、文档形式没有关联,当需要创建索引时,只须让索引工具处理数据流就能够实现。所述创建索引部分主要内容包括,固定地自数据库内采集资源,并为这些资源进行适当的分析与处理,接着对那些资源创建索引并将它们加进索引资源库内。
Lucene本身具有一套成型的搜索工具,查询者能够根据这个搜索工具去完成自身的检索需求。查询者能够实现按需求建立特定的搜寻规定,例如模糊检索、范围检索等。所述搜寻索引部分主要内容包括,利用查询者所提供的检索条件去取得查询语句,接着分析处理这些查询语句,之后自索引资源库内查询,将最终的检索结果返回给查询者。
附图1为所述以Lucene为基础的数据库查询方法的流程图,如附图1所示,采用该数据库查询方法的具体过程如下:首先固定地自数据库内采集资源信息,并为这些资源进行适当的分析与处理,接着对那些资源创建索引模块,并将它们加进索引资源库(索引库)内;然后获取用户所提供的查询条件,接着通过分析查询条件模块分析处理这些查询条件,之后通过查询索引模块自索引资源库(索引库)内查询,呈现查询结果,并将最终的检索结果返回给用户。
附图2为Lucene索引的层次结构示意图,如附图2所示,将Lucene的索引划分为以下几个层次,首先是Index(索引)层,接着为Segment(段)层,其次是Document(文档)层,最底层为Field(字段)层。其中,Index由一些Segment构成,一个段包含许多的文档,而各个文档则含括许多的字段,最后,字段的构成部分是一个个的(Term)词元。
由于Lucene索引是按照一定的结构组织的,因此去进行搜索时可以立刻在索引资源内找到,而无须去之前的资源内执行顺序的搜寻工作,能够把检索的区域缩小很多,极大提高了检索效率。Lucene的数据来源并非是一种确切的格式,仅仅为一种文件的层次,查询者去创建索引的数据源能够为各种格式,可以是xml文档、字符串、txt文档,或者是数据库内的数据资源。
下面为本实施例所述以Lucene为基础的数据库查询方法的具体实施过程,以此来进一步详细了解该数据库查询方法的技术内容和技术效果。
首先创建数据的索引,具体包括如下步骤:
1)首先获取信息资源,即以固定时间去取得数据库内表格记录的资源,作为创造索引文件的资料来源;
2)接着进行信息资源过滤,在某条记录内,如何选择待存储的字段使得在维持信息完整度的前提下避免无用的资源内容,举个例子,对于高校学生来说,一般具有存放价值的是“学号”、“所学专业”、“学习课程”、“考试成绩”等字段,而对于课堂上偶尔进行的随堂测验、模拟考试等信息基本上无须存放;
3)其次,分析过滤出来的信息内容,进行分词处理,目前最常用的分词工具是以搜狗词库为基础的Mmseg4j分词器;
4)然后是创建索引,应该将记录内容加载到资源库内,对前面分好的词语创造索引,索引能够存放在硬盘或者内存里面;最终把索引文件放到索引资源库里面。
在创建索引后,以此为基础进行搜索索引、基础查询,具体过程如下:先取得查询者提供的检索条件,其次分析处理所得到的条件语句的句法语法结构,抽取相应的关键词,依照一定规则来构成句法树,然后通过搜寻索引去找到符合句法的数据库记录。
举例句法树“key1andkey2notkey3”来说明一下检索步骤:
(1)首先,去数据库倒排链表之内寻得各自含有key1、key2、key3的记录;接着,将那些含有key1和key2的数据库记录链表合并在一起,可以获取到同时含有key1和key2的链表;
(2)然后把得到的链表和含有key3的记录执行差运算,去掉那些含有key3的链表,即可以获取到仅仅含有key1、key2却没含有key3的记录,该记录即为最终符合条件的链表。
本实施例所述以Lucene为基础的数据库查询方法,在以往的查询工具的倒排结构的基础上,Lucene加入自身分块创建索引文件的功能,能够为新的资源创建小的索引,以便增加查询效率,经过与已经存在的索引融合,能够改进优化各个索引资源。当对某个检索词多次查询时,本发明把初次查询的结果加载到计算机的缓存里面,所以当下一次查询到同一个检索词语时,直接去计算机缓存内找到相应的信息,而无须对索引资源库重复检索,因此本发明搜索速度可以提高数倍。当查询者提供条件含有若干个词语,本发明能够切分出这几个词语,然后经由Term来比对索引库,且能比对改变顺序的数据库信息,能查询出有关系的记录内容并呈现给用户,本数据库查询扩展方法具有很高的召回率。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (5)

1.一种以Lucene为基础的数据库查询方法,其特征在于, 参考Lucene索引的层次模式,首先为数据库内资源创建索引,并将索引加进索引资源库内;利用检索条件自索引资源库内查询,获得检索结果并返回;其主要步骤包括创建索引部分、搜寻索引部分。
2.根据权利要求1所述一种以Lucene为基础的数据库查询方法,其特征在于, 所述创建索引部分是指,固定地自数据库内采集资源,并为这些资源进行适当的分析与处理,接着对那些资源创建索引并将它们加进索引资源库内。
3.根据权利要求2所述一种以Lucene为基础的数据库查询方法,其特征在于, 所述创建索引部分具体包括如下步骤:
1)首先获取信息资源,即以固定时间去取得数据库内表格记录的资源,作为创造索引文件的资料来源;
2)接着进行信息资源过滤,在某条记录内,选择待存储的字段使得在维持信息完整度的前提下避免无用的资源内容;
3)其次,分析过滤出来的信息内容,进行分词处理;
4)然后是创建索引,将记录内容加载到资源库内,对前面分好的词语创造索引,索引能够存放在硬盘或内存里面;最终把索引文件放到索引资源库里面。
4.根据权利要求2所述一种以Lucene为基础的数据库查询方法,其特征在于, 所述搜寻索引部分主要内容包括,利用查询者所提供的检索条件去取得查询语句,接着分析处理这些查询语句,之后自索引资源库内查询,将最终的检索结果返回给查询者。
5.根据权利要求4所述一种以Lucene为基础的数据库查询方法,其特征在于, 先取得查询者提供的检索条件,其次分析处理所得到的条件语句的句法语法结构,抽取相应的关键词,依照一定规则来构成句法树,然后通过搜寻索引去找到符合句法的数据库记录。
CN201610571519.4A 2016-07-20 2016-07-20 一种以Lucene为基础的数据库查询方法 Pending CN106227788A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610571519.4A CN106227788A (zh) 2016-07-20 2016-07-20 一种以Lucene为基础的数据库查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610571519.4A CN106227788A (zh) 2016-07-20 2016-07-20 一种以Lucene为基础的数据库查询方法

Publications (1)

Publication Number Publication Date
CN106227788A true CN106227788A (zh) 2016-12-14

Family

ID=57531849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610571519.4A Pending CN106227788A (zh) 2016-07-20 2016-07-20 一种以Lucene为基础的数据库查询方法

Country Status (1)

Country Link
CN (1) CN106227788A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874429A (zh) * 2017-01-23 2017-06-20 南威软件股份有限公司 一种标准sql转换成全文检索标准查询的方法
CN107656985A (zh) * 2017-09-11 2018-02-02 北京京东尚科信息技术有限公司 网页查询方法及其***
CN107729518A (zh) * 2017-10-26 2018-02-23 山东浪潮云服务信息科技有限公司 一种关系型数据库的全文检索方法及装置
CN107818126A (zh) * 2017-09-01 2018-03-20 广州慧睿思通信息科技有限公司 一种面向Mongo数据库的全文信息检索方法
CN109002444A (zh) * 2017-06-07 2018-12-14 北大方正集团有限公司 全文检索方法和全文检索装置
CN109241098A (zh) * 2018-08-08 2019-01-18 南京中新赛克科技有限责任公司 一种分布式数据库的查询优化方法
CN111143349A (zh) * 2019-11-26 2020-05-12 广东三扬网络科技有限公司 一种快速从集合中查找信息的方法及电子设备和存储介质
CN111488379A (zh) * 2020-04-17 2020-08-04 焦点科技股份有限公司 一种优化Hbase大数据查询的方法
CN111930879A (zh) * 2020-07-10 2020-11-13 银盛支付服务股份有限公司 一种基于管理***的全文搜索引擎方法及***
CN112115361A (zh) * 2020-09-17 2020-12-22 浪潮卓数大数据产业发展有限公司 一种基于elasticsearch的数据检索优化方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030217A (zh) * 2007-03-22 2007-09-05 华中科技大学 一种语义网信息的索引与获取方法
CN101131704A (zh) * 2006-08-23 2008-02-27 国际商业机器公司 用于内容的位置表示的装置和方法
CN101373532A (zh) * 2008-07-10 2009-02-25 昆明理工大学 旅游领域faq中文问答***实现方法
US20090112830A1 (en) * 2007-10-25 2009-04-30 Fuji Xerox Co., Ltd. System and methods for searching images in presentations
CN105550236A (zh) * 2015-11-27 2016-05-04 广州华多网络科技有限公司 一种分布式数据去重处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131704A (zh) * 2006-08-23 2008-02-27 国际商业机器公司 用于内容的位置表示的装置和方法
CN101030217A (zh) * 2007-03-22 2007-09-05 华中科技大学 一种语义网信息的索引与获取方法
US20090112830A1 (en) * 2007-10-25 2009-04-30 Fuji Xerox Co., Ltd. System and methods for searching images in presentations
CN101373532A (zh) * 2008-07-10 2009-02-25 昆明理工大学 旅游领域faq中文问答***实现方法
CN105550236A (zh) * 2015-11-27 2016-05-04 广州华多网络科技有限公司 一种分布式数据去重处理方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874429B (zh) * 2017-01-23 2020-08-11 南威软件股份有限公司 一种标准sql转换成全文检索标准查询的方法
CN106874429A (zh) * 2017-01-23 2017-06-20 南威软件股份有限公司 一种标准sql转换成全文检索标准查询的方法
CN109002444A (zh) * 2017-06-07 2018-12-14 北大方正集团有限公司 全文检索方法和全文检索装置
CN107818126A (zh) * 2017-09-01 2018-03-20 广州慧睿思通信息科技有限公司 一种面向Mongo数据库的全文信息检索方法
CN107656985A (zh) * 2017-09-11 2018-02-02 北京京东尚科信息技术有限公司 网页查询方法及其***
CN107729518A (zh) * 2017-10-26 2018-02-23 山东浪潮云服务信息科技有限公司 一种关系型数据库的全文检索方法及装置
CN109241098A (zh) * 2018-08-08 2019-01-18 南京中新赛克科技有限责任公司 一种分布式数据库的查询优化方法
CN109241098B (zh) * 2018-08-08 2022-02-18 南京中新赛克科技有限责任公司 一种分布式数据库的查询优化方法
CN111143349A (zh) * 2019-11-26 2020-05-12 广东三扬网络科技有限公司 一种快速从集合中查找信息的方法及电子设备和存储介质
CN111488379A (zh) * 2020-04-17 2020-08-04 焦点科技股份有限公司 一种优化Hbase大数据查询的方法
CN111488379B (zh) * 2020-04-17 2022-07-19 焦点科技股份有限公司 一种优化Hbase大数据查询的方法
CN111930879A (zh) * 2020-07-10 2020-11-13 银盛支付服务股份有限公司 一种基于管理***的全文搜索引擎方法及***
CN112115361A (zh) * 2020-09-17 2020-12-22 浪潮卓数大数据产业发展有限公司 一种基于elasticsearch的数据检索优化方法及***
CN112115361B (zh) * 2020-09-17 2022-07-05 浪潮卓数大数据产业发展有限公司 一种基于elasticsearch的数据检索优化方法及***

Similar Documents

Publication Publication Date Title
CN106227788A (zh) 一种以Lucene为基础的数据库查询方法
Brickley et al. Google Dataset Search: Building a search engine for datasets in an open Web ecosystem
CN109800284B (zh) 一种面向任务的非结构化信息智能问答***构建方法
CN104239513B (zh) 一种面向领域数据的语义检索方法
US8990236B2 (en) Method, computer product program and system for analysis of data
CN103177075B (zh) 基于知识的实体检测和消歧
CN103064956B (zh) 用于搜索电子内容的方法、计算***和计算机可读介质
CN103678576B (zh) 基于动态语义分析的全文检索***
CN108280114B (zh) 一种基于深度学习的用户文献阅读兴趣分析方法
US20070022109A1 (en) Systems and methods for answering user questions
CN105447080B (zh) 一种社区问答搜索中的查询补全方法
JP2006048686A (ja) フレーズに基づく文書説明の生成方法
JP2006048685A (ja) 情報検索システムにおけるフレーズに基づくインデックス化方法
JP2006048684A (ja) 情報検索システムにおけるフレーズに基づく検索方法
JP2006048683A (ja) 情報検索システムにおけるフレーズ識別方法
CN111061828B (zh) 一种数字图书馆知识检索方法及装置
Richards et al. The Archaeology Data Service and the Archaeotools project: faceted classification and natural language processing
US20060036451A1 (en) Patent mapping
CN106547893A (zh) 一种图片分类管理***及图片分类管理方法
CN108763573A (zh) 一种基于机器学习的olap引擎路由方法及***
Barrio et al. Sampling strategies for information extraction over the deep web
Paton et al. Dataset discovery and exploration: A survey
Döhmen et al. Gitschemas: A dataset for automating relational data preparation tasks
CN109460467B (zh) 一种网络信息分类体系构建方法
Huang et al. Design a batched information retrieval system based on a concept-lattice-like structure

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161214

RJ01 Rejection of invention patent application after publication