CN109542930A - 一种基于ElasticSearch的数据高效检索方法 - Google Patents
一种基于ElasticSearch的数据高效检索方法 Download PDFInfo
- Publication number
- CN109542930A CN109542930A CN201811365956.6A CN201811365956A CN109542930A CN 109542930 A CN109542930 A CN 109542930A CN 201811365956 A CN201811365956 A CN 201811365956A CN 109542930 A CN109542930 A CN 109542930A
- Authority
- CN
- China
- Prior art keywords
- result
- historical query
- inquiry
- elasticsearch
- matching
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000002596 correlated effect Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明请求保护一种基于ElasticSearch的数据高效检索方法。该方法包括:接收用户输入的第一检索条件,将共享的历史查询结果在ElasticSearch集群中建立索引,在新的第一检索条件请求到达时,首先与历史检索条件进行匹配,若能实现匹配,则直接将匹配部分的历史查询结果直接作为新检索条件请求结果的一部分。本发明利用ElasticSearch搜索引擎,减少了大量对历史查询的重复计算,节省了搜索时间,提高了检索效率。
Description
技术领域
本发明属于数据检索领域,尤其涉及一种基于ElasticSearch的数据高效检索方法。
背景技术
随着信息技术的发展,越来越多的应用或者站点,每个月都会产生TB级别的数据。与此同时,越来越多的需求每天需要处理几PB,几百PB级的数据。,如何高效便捷地获取信息已成为当前互联网服务商亟待解决的问题,搜索系统的出现很好的解决了这一问题。搜索系统是指能对文本中特定关键字执行检索操作的软件系统,通常将能够进行全文检索的软件系统称为搜索引擎。但是,目前互联网上常见的各类搜索引擎架构以集中式为主,在容错性、访问效率、可扩展性、I/O方面存在瓶颈,越来越难以应对数据量飞速增加所带来的问题。
ElasticSearch是一款基于Lucene工具包的支持分布式的开源全文检索系统,在企业中非常受欢迎,维基百科(Wikipedia)、StackOverflow、Github等公司的全文检索、关键词高亮、实时键入搜索、自动纠错、相关内容推荐等功能都是基于ElasticSearch实现的。除此之外,ElasticSearch也备受创业公司的青睐,它对机器的性能没有较严苛的要求,即使在普通PC机组成的集群中也可以正常运行。
ElasticSearch目前还是一门比较新的技术,在国内的推广度还相当的有限,所以相当多的知识检索系统并没有用到该门技术。而ElasticSearch有其独有的全文搜索,结构化检索,搜索纠错,搜索推荐等等丰富的功能能够极大的满足用户的需求。
发明内容
本发明旨在解决以上现有技术的问题。提出了一种提高检索效率的基于ElasticSearch的数据高效检索方法。本发明的技术方案如下:
一种基于ElasticSearch的数据高效检索方法,其包括以下步骤:
a.用户向开源分布式搜索引擎ElasticSearch发起查询请求;
b.对查询请求和历史查询集群进行匹配,所述历史查询集群是历史查询的集合所述匹配有两种情况:完全匹配和不完全匹配;
c.若完全匹配,则根据历史查询结果和继续查询的结果得出第一结果,若不完全匹配,则重新执行查询得到第二结果,查询的第一结果或第二结果反馈给用户;
d.若是不完全匹配,则将查询的第二结果更新历史查询集群。
进一步的,所述步骤a用户向ElasticSearch发起查询请求,所述查询请求包括提取用户在搜索引擎中输入的字符内容,并将查询请求作为第一检索条件。
进一步的,所述ElasticSearch是一款基于Lucene工具包的支持分布式的开源全文检索系统,利用该系统开源快速搭建一个零配置并且开源高效的搜索引擎,结合与历史查询结果集群,每次与其进行匹配,有相同查询结果的话直接取得该结果而不需要进行一次全局搜索。
进一步的,所述步骤b中对查询请求和历史查询集群进行匹配,匹配有两种情况:完全匹配和不匹配,主要步骤如下:
2.1)如果匹配结果为完全匹配,则表明用户新来的查询请求以前同样出现过,这样以前同样的查询所得到的查询结果可以直接为本次查询所利用;则共享历史同样查询的查询结果,由于历史查询只是对某段时间以前的数据进行的查询,有可能在该历史查询后又有新的数据记录产生,因此对新增的数据仍然需要执行第二次检索查询,第二次检索查询采用历史查询记录加上新的检索条件作为检索条件,第一次是直接拿到的历史查询集群中的结果,为了避免历史集群有新的记录添加到该集群中而获取不到,所以需要再次用利用检索条件进行一次查询,并得出相关结果,将以上两步结果合并,得出第一结果;
2.2)如果匹配结果为不匹配,则表明用户新来的查询请求没有任何历史查询可供匹配,需要重新执行查询;其需要执行全部的查询,并得出第二结果。
本发明的优点及有益效果如下:
本发明采用了上述技术方案后,通过ElasticSearch引擎,以及对新请求进行历史集群的匹配的方法,减少重新针对大数据的集合进行全部查询带来的时间消耗,有效提高了知识搜索效率。本发明的创新点是通过ElasticSearch引擎,以及对新请求进行历史集群的匹配。
附图说明
图1是本发明提供优选实施例知识快速索引方法运行流程图。
图2为新的查询请求与历史查询集群匹配示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
本发明提出一种基于ElasticSearch的数据高效检索方法,利用Redis基于内存读写效率高的特性实现知识数据的快速索引。下面结合附图和具体实施方式对本发明作进一步详细说明。
图1给出了本发明知识快速索引方法的运行流程图,具体是这样实现的:
1)用户发起查询请求,主要是获得用户发起请求的查询内容;
2)对查询请求和历史查询集群进行匹配,匹配有两种情况:完全匹配和不匹配。主要步骤如下:
2.1)如果匹配结果为完全匹配,则表明用户新来的查询请求以前同样出现过,这样以前同样的查询所得到的查询结果可以直接为本次查询所利用;其需要共享历史同样查询的查询结果,由于历史查询只是对某段时间以前的数据进行的查询,有可能在该历史查询后又有新的数据记录产生,因此对新增的数据仍然需要执行查询,并得出相关结果,将以上两步结果合并,得出相关结果。与历史查询集群比对的主要有以下步骤:
2.1.1)图2中的P1,P2,P3,P4,P5,P6,U1及U2为历史查询集群中的所有查询条件。找到与新的查询请求的数据源相同的云数据库表;
2.1.2)查找云数据库(表1)下的P1节点,找到后做一标记,并跳到步骤2.1.3;若没有,则退出程序。
2.1.3)继续在2.1.2的基础上往下找节点P6,找到后做一标记,并跳到本步骤;若没有,则退出程序。
2.1.4)重复步骤2.1.3,直到退出程序。
2.2)如果匹配结果为不匹配。则表明用户新来的查询请求没有任何历史查询可供匹配,需要重新执行查询;其需要执行全部的查询,并得出结果。
3)将结果集反馈给用户,将最终得出的结果返回给前端页面进行展示。
4)更新历史查询集群,如果为全新的查询请求,将该查询请求更新到历史查询集群中。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
Claims (4)
1.一种基于ElasticSearch的数据高效检索方法,其特征在于,包括以下步骤:
a.用户向开源分布式搜索引擎ElasticSearch发起查询请求;
b.对查询请求和历史查询集群进行匹配,所述历史查询集群是历史查询的集合所述匹配有两种情况:完全匹配和不完全匹配;
c.若完全匹配,则根据历史查询结果和继续查询的结果得出第一结果,若不完全匹配,则重新执行查询得到第二结果,查询的第一结果或第二结果反馈给用户;
d.若是不完全匹配,则将查询的第二结果更新历史查询集群。
2.根据权利要求1所述的基于ElasticSearch的数据高效检索方法,其特征在于,所述步骤a用户向ElasticSearch发起查询请求,所述查询请求包括提取用户在搜索引擎中输入的字符内容,并将查询请求作为第一检索条件。
3.根据权利要求1所述的基于ElasticSearch的数据高效检索方法,其特征在于,所述ElasticSearch是一款基于Lucene工具包的支持分布式的开源全文检索系统,利用该系统开源快速搭建一个零配置并且开源高效的搜索引擎,结合与历史查询结果集群,每次与其进行匹配,有相同查询结果的话直接取得该结果而不需要进行一次全局搜索。
4.根据权利要求1-3之一所述的基于ElasticSearch的数据高效检索方法,其特征在于,所述步骤b中对查询请求和历史查询集群进行匹配,匹配有两种情况:完全匹配和不匹配,主要步骤如下:
2.1)如果匹配结果为完全匹配,则表明用户新来的查询请求以前同样出现过,这样以前同样的查询所得到的查询结果可以直接为本次查询所利用;则共享历史同样查询的查询结果,由于历史查询只是对某段时间以前的数据进行的查询,有可能在该历史查询后又有新的数据记录产生,因此对新增的数据仍然需要执行第二次检索查询,第二次检索查询采用历史查询记录加上新的检索条件作为检索条件,第一次是直接拿到的历史查询集群中的结果,为了避免历史集群有新的记录添加到该集群中而获取不到,所以需要再次用利用检索条件进行一次查询,并得出相关结果,将以上两步结果合并,得出第一结果;
2.2)如果匹配结果为不匹配,则表明用户新来的查询请求没有任何历史查询可供匹配,需要重新执行查询;其需要执行全部的查询,并得出第二结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811365956.6A CN109542930A (zh) | 2018-11-16 | 2018-11-16 | 一种基于ElasticSearch的数据高效检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811365956.6A CN109542930A (zh) | 2018-11-16 | 2018-11-16 | 一种基于ElasticSearch的数据高效检索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109542930A true CN109542930A (zh) | 2019-03-29 |
Family
ID=65847695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811365956.6A Pending CN109542930A (zh) | 2018-11-16 | 2018-11-16 | 一种基于ElasticSearch的数据高效检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542930A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083627A (zh) * | 2019-04-28 | 2019-08-02 | 江苏满运软件科技有限公司 | 数据处理方法、系统、计算机设备和存储介质 |
CN111243679A (zh) * | 2020-01-15 | 2020-06-05 | 重庆邮电大学 | 微生物群落物种多样性数据的存储检索方法 |
CN110110234B (zh) * | 2019-05-13 | 2020-10-16 | 重庆天蓬网络有限公司 | 一种大数据实时搜索系统和方法 |
WO2021189253A1 (zh) * | 2020-03-24 | 2021-09-30 | 深圳市欢太科技有限公司 | 数据传输方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765800A (zh) * | 2015-03-30 | 2015-07-08 | 浪潮集团有限公司 | 一种基于大数据的高效搜索方法 |
CN108241758A (zh) * | 2018-03-21 | 2018-07-03 | 广州华多网络科技有限公司 | 数据查询方法及相关设备 |
CN108509437A (zh) * | 2017-02-24 | 2018-09-07 | 南京烽火星空通信发展有限公司 | 一种ElasticSearch查询加速方法 |
-
2018
- 2018-11-16 CN CN201811365956.6A patent/CN109542930A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765800A (zh) * | 2015-03-30 | 2015-07-08 | 浪潮集团有限公司 | 一种基于大数据的高效搜索方法 |
CN108509437A (zh) * | 2017-02-24 | 2018-09-07 | 南京烽火星空通信发展有限公司 | 一种ElasticSearch查询加速方法 |
CN108241758A (zh) * | 2018-03-21 | 2018-07-03 | 广州华多网络科技有限公司 | 数据查询方法及相关设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083627A (zh) * | 2019-04-28 | 2019-08-02 | 江苏满运软件科技有限公司 | 数据处理方法、系统、计算机设备和存储介质 |
CN110110234B (zh) * | 2019-05-13 | 2020-10-16 | 重庆天蓬网络有限公司 | 一种大数据实时搜索系统和方法 |
CN111243679A (zh) * | 2020-01-15 | 2020-06-05 | 重庆邮电大学 | 微生物群落物种多样性数据的存储检索方法 |
WO2021189253A1 (zh) * | 2020-03-24 | 2021-09-30 | 深圳市欢太科技有限公司 | 数据传输方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cafarella et al. | Data integration for the relational web | |
CN109542930A (zh) | 一种基于ElasticSearch的数据高效检索方法 | |
US7730060B2 (en) | Efficient evaluation of object finder queries | |
US7890493B2 (en) | Translating a search query into multiple languages | |
Tran et al. | Hermes: Data Web search on a pay-as-you-go integration infrastructure | |
US8661019B2 (en) | Join algorithms over full text indexes | |
CN106326429A (zh) | 一种基于solr的Hbase秒级查询方案 | |
CN106294695A (zh) | 一种面向实时大数据搜索引擎的实现方法 | |
US20140046928A1 (en) | Query plans with parameter markers in place of object identifiers | |
CN103530415A (zh) | 一种兼容关键词搜索的自然语言搜索方法及系统 | |
US8805848B2 (en) | Systems, methods and computer program products for fast and scalable proximal search for search queries | |
Keivanloo et al. | Seclone-a hybrid approach to internet-scale real-time code clone search | |
Fatima et al. | New framework for semantic search engine | |
US20150039581A1 (en) | Semantic Search System Interface and Method | |
Khelil et al. | Combining graph exploration and fragmentation for scalable RDF query processing | |
CN105787029A (zh) | 一种基于solr的关键字词识别办法 | |
Patil et al. | Semantic search using ontology and RDBMS for cricket | |
CN103891244B (zh) | 一种进行数据存储和检索的方法及装置 | |
CN105868406A (zh) | 基于多数据库的专利检索系统 | |
Shekhar et al. | A WEBIR crawling framework for retrieving highly relevant web documents: evaluation based on rank aggregation and result merging algorithms | |
CN101576897A (zh) | 文件内容检索系统及方法 | |
Doi et al. | ToT for CSV: Accessing open data CSV files through SQL | |
Van de Maele et al. | An ontology-based crawler for the semantic web | |
US11954223B2 (en) | Data record search with field level user access control | |
CN116881391B (zh) | 一种全文检索方法及系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190329 |