CN105740472A - 一种分布式实时全文检索方法及系统 - Google Patents

一种分布式实时全文检索方法及系统 Download PDF

Info

Publication number
CN105740472A
CN105740472A CN201610143061.2A CN201610143061A CN105740472A CN 105740472 A CN105740472 A CN 105740472A CN 201610143061 A CN201610143061 A CN 201610143061A CN 105740472 A CN105740472 A CN 105740472A
Authority
CN
China
Prior art keywords
index
data
search
local cache
distributor
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
CN201610143061.2A
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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201610143061.2A priority Critical patent/CN105740472A/zh
Publication of CN105740472A publication Critical patent/CN105740472A/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/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种分布式实时全文检索方法及系统,所述方法包括:步骤1,索引分发服务器向索引节点服务器发送源数据,索引节点服务器为源数据建立对应的索引数据,将索引数据存入本地缓存并备份至分布式文件系统;步骤2,搜索分发服务器根据用户的查询语句,分发查询指令到各搜索节点服务器,搜索节点服务器在本地缓存及分布式文件系统中查询对应的查询数据并将查询结果返回给搜索分发服务器,同时修改所述查询数据的热度值。由此,在查询索引时无需查询所有数据的索引,能够精确定位用户选择的、感兴趣的数据,缩小查询范围,实现加速查询。

Description

一种分布式实时全文检索方法及系统
技术领域
本发明属于分布式计算领域,涉及索引及搜索方法,具体涉及一种在分布式系统下的创建索引和依据所创建的索引文件进行全文检索的方法及系统。
背景技术
随着被检索的数据的日益增多,把源数据所建立的索引存储在于单台服务器上并在单台服务器上检索已经不能满足检索的实时性能需求,并且单台服务器对磁盘的要求也比较高,很容易成为瓶颈。
关于传统的搜索引擎(例如知名度较高的Lucene开源搜索引擎)实现全文检索可分为两步,第一步是对源文件建立索引的过程:(1)指定索引存放的目录,可以是文件目录也可是内存中;(2)指定相应的用于对源文件分词的分析器,然后创建IndexWriterConfig;(3)把分词结果的相关信息写入索引文件。第二步是依据待查询关键字在已经建立好的索引文件查询的过程:(1)根据已存在的索引文件(2)用分析器Analyzer对待检索关键词分词(3)索引文件查询得到相关结果。
关于分布式文件系统(例如HDFS),它是一个高度容错性的系统,能提供高吞吐量的数据访问,适合大规模数据集上的应用。但分布式文件系统对实时性支持并不是特别好,并且需要注意同一时刻下被选取的分布式文件系统是否支持多个用户的写操作。
专利文献1(公开号为:102779134A)提出了一种基于Lucene的分布式搜索方法,其通过增加索引从属服务器来分担创建索引,增加搜索从属服务器来分担搜索任务,但是在数据量特别大而机器数量有限制的情况此种方法不再适用。
发明内容
在大数据集区分热度和用户选择偏好情况下,且单台机器性能和存储空间有限的条件下,本发明提供一种分布式实时全文检索方法及系统,其目的在于,消除“盲目查询”,精确查询范围,提高大数据情况下检索的并发性、实时性。
本发明的分布式实时全文检索方法,包括:
步骤1,索引分发服务器向索引节点服务器发送源数据并请求建立索引,由所述索引节点服务器为所述源数据建立对应的索引数据,将所述索引数据存入本地缓存并备份至分布式文件系统;
步骤2,搜索分发服务器根据用户的查询语句,分发查询指令到各搜索节点服务器,所述搜索节点服务器在所述本地缓存及所述分布式文件系统中查询与所述查询语句对应的查询数据并将查询结果返回给所述搜索分发服务器,同时修改所述查询数据的热度值;
其中,当所述查询数据存在于所述本地缓存且其热度值低于规定值时,将所述查询数据从所述本地缓存中删除,当所述查询数据存在于所述分布式文件系统且其热度值高于规定值时,将所述查询数据添加到所述本地缓存中。
本发明的分布式实时全文检索方法,还包括:
步骤3,当所述查询数据既不存在于所述本地缓存也不存在于所述分布式文件系统中时,通知所述索引分发服务器需要建立索引,并跳到所述步骤1。
本发明的分布式实时全文检索方法,其中,所述步骤1还包括:
步骤11,所述索引节点服务器判断接收到的所述源数据所对应的索引数据是否已存在,若存在,则通知所述索引节点服务器,若不存在,则在本地缓存中为所述源数据建立对应的索引数据,建立完毕后备份到分布式文件系统上,然后向分发服务器汇报索引建立完毕;
步骤12,所述索引节点服务器与所述搜索节点服务器通讯,检查所建立的索引数据的使用频率,利用LRU算法管理所述本地缓存中的索引数据和所述分布式文件系统上备份的索引数据。
本发明的分布式实时全文检索方法,其中,所述步骤2还包括:
步骤21,所述搜索节点服务器收到所述查询指令后,先查询所述本地缓存中是否存在所述查询数据,若存在,则将查询结果返回所述给搜索分发服务器,同时修改所述查询数据的热度值,若不存在,则执行步骤22;
步骤22,所述搜索节点服务器查询所述分布式文件系统中是否存在所述查询数据,若存在,则将查询结果返回所述给搜索分发服务器,并异步非阻塞式所述本地缓存中的相应的索引数据,修改其热度值,若不存在,则执行所述步骤3。
本发明的分布式实时全文检索方法,其中,所述分布式搜索服务器规约各索引节点服务器和各搜索节点服务器的搜索结果。
另外,本发明还提供一种分布式实时全文检索系统,包括:
一索引分发服务器,用于发送源数据并请求建立索引,
多个索引节点服务器,用于接收所述索引分发服务器发送的源数据和请求,为所述源数据建立对应的索引数据,将所述索引数据存入本地缓存并备份至分布式文件系统;
一搜索分发服务器,用于根据用户的查询语句,分发查询指令;
多个搜索节点服务器,用于接收所述搜索分发服务器发送的所述查询指令,并在所述本地缓存及所述分布式文件系统中查询与所述查询语句对应的查询数据并将查询结果返回给所述搜索分发服务器,同时修改所述查询数据的热度值;
其中,当所述查询数据存在于所述本地缓存且其热度值低于规定值时,将所述查询数据从所述本地缓存中删除,当所述查询数据存在于所述分布式文件系统且其热度值高于规定值时,将所述查询数据添加到所述本地缓存中。
本发明的分布式实时全文检索系统,其中,
当所述查询数据既不存在于所述本地缓存也不存在于所述分布式文件系统中时,所述搜索节点服务器还用于,通知所述索引分发服务器需要建立索引。
本发明的分布式实时全文检索系统,其中,
所述索引节点服务器还用于,
判断接收到的所述源数据所对应的索引数据是否已存在,若存在,则通知所述索引节点服务器,若不存在,则在本地缓存中为所述源数据建立对应的索引数据,建立完毕后备份到分布式文件系统上,然后向分发服务器汇报索引建立完毕;
与所述搜索节点服务器通讯,检查所建立的索引数据的使用频率,利用LRU算法管理所述本地缓存中的索引数据和所述分布式文件系统上备份的索引数据。
本发明的分布式实时全文检索系统,其中,
所述搜索节点服务器收到所述查询指令后,先查询所述本地缓存中是否存在所述查询数据,若存在,则将查询结果返回所述给搜索分发服务器,同时修改所述查询数据的热度值,若不存在,则查询所述分布式文件系统中是否存在所述查询数据,若存在,则将查询结果返回所述给搜索分发服务器,并异步非阻塞式所述本地缓存中的相应的索引数据,修改其热度值,若不存在,则通知所述索引分发服务器需要建立索引。
本发明的分布式实时全文检索系统,其中,
所述分布式搜索服务器还用于规约各索引节点服务器和各搜索节点服务器的搜索结果。
本发明的效果在于:
当用户有选择性的查询某领域的数据时,依据用户选择的数据集全文索引并查询结果返回给用户,达到精确查询范围,加速查询速度。同时索引节点机器上的利用LRU算法管理本地索引数据、与分布式文件系统的配合,即节约了节点本地磁盘也加速了查询的速度。
附图说明
图1示出了本发明的分布式实时全文检索方法的流程图;
图2示出了本发明的实施方式的在分布式文件系统下创建索引的流程图;
图3本发明的实施方式的在分布式文件系统下进行数据检索的流程图;
图4示出了本发明的分布式实时全文检索系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明的分布式实时全文检索方法及系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的分布式实时全文检索方法主要分为两个阶段:分布式的建立索引阶段、和分布式的(离线、在线)查询阶段,如图1所示。
步骤1,分布式的建立索引阶段,索引分发服务器向索引节点服务器发送源数据并请求建立索引,由所述索引节点服务器为所述源数据建立对应的索引数据,将所述索引数据存入本地缓存并备份至分布式文件系统;
步骤2,分布式的(离线、在线)查询阶段,搜索分发服务器根据用户的查询语句,分发查询指令到各搜索节点服务器,所述搜索节点服务器在所述本地缓存及所述分布式文件系统中查询与所述查询语句对应的查询数据并将查询结果返回给所述搜索分发服务器,同时修改所述查询数据的热度值;
其中,当所述查询数据存在于所述本地缓存且其热度值低于规定值时,将所述查询数据从所述本地缓存中删除,当所述查询数据存在于所述分布式文件系统且其热度值高于规定值时,将所述查询数据添加到所述本地缓存中。
下面,对本发明的分布式实时全文检索方法主要分为两个阶段,即分布式的建立索引阶段、和分布式的(离线、在线)查询阶段进行详细说明。
一、分布式的建立索引阶段
步骤A,由索引分发服务器判断用户要检索的源文件,并分发到索引节点服务器建立索引;具体地,包括如下步骤:
A1,索引分发服务器把不同的源数据和需要建立与该源数据对应的索引数据的任务分发到不同的索引节点服务器上;(即索引分发服务器将不同的源数据发送给不同的索引节点服务器,并请求各索引节点服务器分别建立与各自收到的源数据对应的索引数据)
A2,索引节点服务器接收到任务,判断源数据的对应索引数据是否已经建立过、是否存在,如果已经存在,则通知所述索引分发服务器,如果不存在,则为其源数据建立索引并存入所述节点服务器的本地缓存中,建立完毕后备份到分布式文件系统上,然后向分发服务器汇报索引建立完毕;
A2.1,所述索引节点服务器与搜索节点服务器通讯,检查所建立的索引文件的使用频率,同步搜索用到的索引数据频率,方便搜索节点服务器利用LRU算法管理本地节点的缓存数据和分布式文件系统上备份的索引数据,其中,每个搜索节点服务器都利用LRU(Leastrecentlyused,最近最少使用)算法对本地缓存中的索引数据和分布式文件系统上的数据进行维护,按照数据的“热度范围”划分,最热的数据(即“热数据”)既缓存本地也存储在分布式文件系统上,较热的数据(即“亚热数据”)只存储到分布式文件系统上,最冷的数据(即“冷数据”)依据分布式文件系统剩余空间情况部分的缓存,缓存不下的则不缓存;不同的索引节点服务器所建立并维护的索引可以是不同领域的数据集的索引,其中,一所述索引节点服务器与一所述搜索节点服务器可以是同一台服务器,即一台服务器即可以作为索引节点服务器,也可以作为搜索节点服务器。LRU算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。通过LRU算法对不同源文件索引数据的管理,逐步迭代,被访问次数最多的一部分索引源文件逐渐形成“热数据”,次数较多的部分索引源文件形成“亚热数据”。
图2示出了在分布式文件系统下创建索引的一实施例的流程图,包括:
步骤11,索引分发服务器分发任务到指定节点;
步骤12,单节点索引机器判断是否接收到任务,若是,则执行步骤13,若否,则返回步骤11;
步骤13,依据任务从源数据上创建其索引;
步骤14,判断是否成功创建了所述索引,若是,则执行步骤15,若否,则跳转至步骤11,
步骤15,节点索引服务器管理本地索引数据,将亚热数据备份到分布式文件系统上。
二、分布式的(离线、在线)查询阶段
步骤B,搜索分发服务器根据用户的查询语句,分发查询指令到不同的搜索节点服务器,所述搜索节点服务器在所述本地缓存及所述分布式文件系统中查询与所述查询语句对应的查询数据并将查询结果返回给所述搜索分发服务器,同时修改所述查询数据的热度值;其中,当所述查询数据存在于所述本地缓存且其热度值低于规定值时,将所述查询数据从所述本地缓存中删除,当所述查询数据存在于所述分布式文件系统且其热度值高于规定值时,将所述查询数据添加到所述本地缓存中。具体地,包括如下步骤:
B1,搜索分发服务器根据用户的查询语句,分发查询指令到各节点搜索服务器;
B2,搜索节点服务器依据分发服务器发来的查询指令对待搜索关键语句执行搜索;
B2.1,搜索节点服务器查询本地缓存中的索引中是否存在需要查询的数据,若存在直接查询返回结果给搜索分发服务器,同时记录、修改当前索引文件的“热度值”;若不存在,则执行步骤B.2.2;
B.2.2,查询分布式文件系统上是否存在其对应的索引数据,若存在查询返回给搜索分发服务器,异步非阻塞式本地缓存相应索引文件,修改其“热度值”,即当缓存一个索引文件时,并不阻塞等待缓存完毕再往下执行以后的动作,而是直接返回继续执行以后的动作,待缓存完毕接收缓存完毕的通知事件即可;若不存在,则执行步骤B2.3;其中,上述步骤B1~B2.2属于离线查询;
B2.3,若分布式文件系统上的索引也满足不了要求则说明用户检索的是“冷数据”,采用在线索引的方式:
B2.3.1,通知索引分发服务器需要建立的索引(这种索引是少数量的),跳到分布式的建立索引阶段;
B2.3.2,跳到B2再顺序执行;
B3,分布式搜索服务器规约各节点的搜索结果。依据各节点的搜索结果的权值或者每条记录的得分情况以及其他策略,对各节点的搜索结果进行归并重排序。
通过上述分布式的建立索引阶段建立索引后,在分布式的(离线、在线)查询阶段中,在经历用户的多次数据查询后,通过步骤B1~B3即可训练出数据的冷热。
图3示出了本发明的在分布式文件系统下进行数据检索的一实施例的流程图,具体包括:
步骤21,用户通过服务器进行数据搜索;
步骤22,搜索分发服务器分发搜索任务到相关搜索节点服务器;
步骤23,搜索节点服务器检查是否接收到搜索任务,若是,则执行步骤24,若否,则结束任务;
步骤24,检查本地节点是否存在符合要求的索引文件,若是,则跳转至步骤27,若否,则继续执行步骤25;
步骤25,检查分布式文件系统上是否存在符合要求的索引文件,若是,则执行步骤27,若否,则执行步骤26;
步骤26,跳转至建立索引阶段,通知需要的索引数;
步骤27,通过LRU算法维护本地服务器;
步骤28,查询用户搜索的数据,并返回查询结果给搜索分发服务器;
步骤29,搜索分发服务器汇总结果,返回给用户。
另外,本发明还提供一种分布式实时全文检索系统100,如图4所示,包括:
一索引分发服务器10,用于发送源数据并请求建立索引,
多个索引节点服务器20,用于接收所述索引分发服务器发送的源数据和请求,为所述源数据建立对应的索引数据,将所述索引数据存入本地缓存并备份至分布式文件系统;
一搜索分发服务器30,用于根据用户的查询语句,分发查询指令;
多个搜索节点服务器40,用于接收所述搜索分发服务器发送的所述查询指令,并在所述本地缓存及所述分布式文件系统中查询与所述查询语句对应的查询数据并将查询结果返回给所述搜索分发服务器,同时修改所述查询数据的热度值;
其中,一所述索引节点服务器20与一所述搜索节点服务器40可以是同一台服务器,即一台服务器即可以作为索引节点服务器,也可以作为搜索节点服务器;且,当所述查询数据存在于所述本地缓存且其热度值低于规定值时,将所述查询数据从所述本地缓存中删除,当所述查询数据存在于所述分布式文件系统且其热度值高于规定值时,将所述查询数据添加到所述本地缓存中。
本发明的分布式实时全文检索系统,其中,
当所述查询数据既不存在于所述本地缓存也不存在于所述分布式文件系统中时,所述搜索节点服务器还用于,通知所述索引分发服务器需要建立索引。
本发明的分布式实时全文检索系统,其中,
所述索引节点服务器还用于,
判断接收到的所述源数据所对应的索引数据是否已存在,若存在,则通知所述索引节点服务器,若不存在,则在本地缓存中为所述源数据建立对应的索引数据,建立完毕后备份到分布式文件系统上,然后向分发服务器汇报索引建立完毕;
与所述搜索节点服务器通讯,检查所建立的索引数据的使用频率,利用LRU算法管理所述本地缓存中的索引数据和所述分布式文件系统上备份的索引数据。
本发明的分布式实时全文检索系统,其中,
所述搜索节点服务器收到所述查询指令后,先查询所述本地缓存中是否存在所述查询数据,若存在,则将查询结果返回所述给搜索分发服务器,同时修改所述查询数据的热度值,若不存在,则查询所述分布式文件系统中是否存在所述查询数据,若存在,则将查询结果返回所述给搜索分发服务器,并异步非阻塞式所述本地缓存中的相应的索引数据,修改其热度值,若不存在,则通知所述索引分发服务器需要建立索引。
本发明的分布式实时全文检索系统,其中,
所述分布式搜索服务器还用于规约各索引节点服务器和各搜索节点服务器的搜索结果。
本发明通过用户的偏好,将在一定的使用训练后可产生“热数据”(用户最感兴趣的数据)、“亚热数据”(用户较为感兴趣的数据)、“冷数据”(用户不太感兴趣的数据)三类数据,热数据查询的速度最快,亚热数据次之,冷数据由于大多无人关心即使稍慢也在可接受范围之内,由于不同用户对不同领域的数据感兴趣,在查询索引的时候并不需要查询所有数据的索引,能够精确定位用户选择的、感兴趣的数据,可达到缩小查询范围,加速查询的目的;其次,由于大数据占用空间太大,对硬件要求太高,本发明可在有限的硬件资源下合理利用硬件资源,即节省了硬件资源又发挥了分布式并行索引、查询的作用,提高了大量并发数据下查询的速度。基于以上两点,对本发明具有良好的市场前景和应用价值。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
以上对本发明所提供的分布式实时全文检索方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限值。

Claims (10)

1.一种分布式实时全文检索方法,其特征在于,包括:
步骤1,索引分发服务器向索引节点服务器发送源数据并请求建立索引,由所述索引节点服务器为所述源数据建立对应的索引数据,将所述索引数据存入本地缓存并备份至分布式文件系统;
步骤2,搜索分发服务器根据用户的查询语句,分发查询指令到各搜索节点服务器,所述搜索节点服务器在所述本地缓存及所述分布式文件系统中查询与所述查询语句对应的查询数据并将查询结果返回给所述搜索分发服务器,同时修改所述查询数据的热度值;
其中,当所述查询数据存在于所述本地缓存且其热度值低于规定值时,将所述查询数据从所述本地缓存中删除,当所述查询数据存在于所述分布式文件系统且其热度值高于规定值时,将所述查询数据添加到所述本地缓存中。
2.根据权利要求1所述的分布式实时全文检索方法,其特征在于,还包括:
步骤3,当所述查询数据既不存在于所述本地缓存也不存在于所述分布式文件系统中时,通知所述索引分发服务器需要建立索引,并跳到所述步骤1。
3.根据权利要求1所述的分布式实时全文检索方法,其特征在于,
所述步骤1还包括:
步骤11,所述索引节点服务器判断接收到的所述源数据所对应的索引数据是否已存在,若存在,则通知所述索引节点服务器,若不存在,则在本地缓存中为所述源数据建立对应的索引数据,建立完毕后备份到分布式文件系统上,然后向分发服务器汇报索引建立完毕;
步骤12,所述索引节点服务器与所述搜索节点服务器通讯,检查所建立的索引数据的使用频率,利用LRU算法管理所述本地缓存中的索引数据和所述分布式文件系统上备份的索引数据。
4.根据权利要求1或2所述的分布式实时全文检索方法,其特征在于,
所述步骤2还包括:
步骤21,所述搜索节点服务器收到所述查询指令后,先查询所述本地缓存中是否存在所述查询数据,若存在,则将查询结果返回所述给搜索分发服务器,同时修改所述查询数据的热度值,若不存在,则执行步骤22;
步骤22,所述搜索节点服务器查询所述分布式文件系统中是否存在所述查询数据,若存在,则将查询结果返回所述给搜索分发服务器,并异步非阻塞式所述本地缓存中的相应的索引数据,修改其热度值,若不存在,则执行所述步骤3。
5.根据权利要求1~3中任一项所述的分布式实时全文检索方法,其特征在于,
所述分布式搜索服务器规约各索引节点服务器和各搜索节点服务器的搜索结果。
6.一种分布式实时全文检索系统,其特征在于,包括:
一索引分发服务器,用于发送源数据并请求建立索引,
多个索引节点服务器,用于接收所述索引分发服务器发送的源数据和请求,为所述源数据建立对应的索引数据,将所述索引数据存入本地缓存并备份至分布式文件系统;
一搜索分发服务器,用于根据用户的查询语句,分发查询指令;
多个搜索节点服务器,用于接收所述搜索分发服务器发送的所述查询指令,并在所述本地缓存及所述分布式文件系统中查询与所述查询语句对应的查询数据并将查询结果返回给所述搜索分发服务器,同时修改所述查询数据的热度值;
其中,当所述查询数据存在于所述本地缓存且其热度值低于规定值时,将所述查询数据从所述本地缓存中删除,当所述查询数据存在于所述分布式文件系统且其热度值高于规定值时,将所述查询数据添加到所述本地缓存中。
7.根据权利要求6所述的分布式实时全文检索系统,其特征在于,
当所述查询数据既不存在于所述本地缓存也不存在于所述分布式文件系统中时,所述搜索节点服务器还用于,通知所述索引分发服务器需要建立索引。
8.根据权利要求6所述的分布式实时全文检索系统,其特征在于,
所述索引节点服务器还用于,
判断接收到的所述源数据所对应的索引数据是否已存在,若存在,则通知所述索引节点服务器,若不存在,则在本地缓存中为所述源数据建立对应的索引数据,建立完毕后备份到分布式文件系统上,然后向分发服务器汇报索引建立完毕;
与所述搜索节点服务器通讯,检查所建立的索引数据的使用频率,利用LRU算法管理所述本地缓存中的索引数据和所述分布式文件系统上备份的索引数据。
9.根据权利要求6或7所述的分布式实时全文检索方法,其特征在于,
所述搜索节点服务器收到所述查询指令后,先查询所述本地缓存中是否存在所述查询数据,若存在,则将查询结果返回所述给搜索分发服务器,同时修改所述查询数据的热度值,若不存在,则查询所述分布式文件系统中是否存在所述查询数据,若存在,则将查询结果返回所述给搜索分发服务器,并异步非阻塞式所述本地缓存中的相应的索引数据,修改其热度值,若不存在,则通知所述索引分发服务器需要建立索引。
10.根据权利要求6~8中任一项所述的分布式实时全文检索系统,其特征在于,
所述分布式搜索服务器还用于规约各索引节点服务器和各搜索节点服务器的搜索结果。
CN201610143061.2A 2016-03-14 2016-03-14 一种分布式实时全文检索方法及系统 Pending CN105740472A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610143061.2A CN105740472A (zh) 2016-03-14 2016-03-14 一种分布式实时全文检索方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610143061.2A CN105740472A (zh) 2016-03-14 2016-03-14 一种分布式实时全文检索方法及系统

Publications (1)

Publication Number Publication Date
CN105740472A true CN105740472A (zh) 2016-07-06

Family

ID=56250486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610143061.2A Pending CN105740472A (zh) 2016-03-14 2016-03-14 一种分布式实时全文检索方法及系统

Country Status (1)

Country Link
CN (1) CN105740472A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294695A (zh) * 2016-08-08 2017-01-04 深圳市网安计算机安全检测技术有限公司 一种面向实时大数据搜索引擎的实现方法
CN106528683A (zh) * 2016-10-25 2017-03-22 深圳市盛凯信息科技有限公司 一种基于索引分片均衡的大数据云搜索平台及其方法
CN107016015A (zh) * 2016-10-08 2017-08-04 阿里巴巴集团控股有限公司 业务数据汇总方法及其系统
CN107122437A (zh) * 2017-04-19 2017-09-01 高新兴科技集团股份有限公司 一种支持多条件检索和实时分析的大数据处理方法
CN107357901A (zh) * 2017-07-14 2017-11-17 广东工业大学 一种视频文件快速检索方法及系统
CN108121511A (zh) * 2017-12-21 2018-06-05 北京黑螺技术有限公司 一种分布式边缘存储系统中的数据处理方法、装置及设备
CN109033283A (zh) * 2018-07-12 2018-12-18 广州市闲愉凡生信息科技有限公司 一种云计算平台的分布式搜索方法
CN109086344A (zh) * 2018-07-12 2018-12-25 广州市闲愉凡生信息科技有限公司 一种云计算平台的全文检索的方法
CN109788319A (zh) * 2017-11-14 2019-05-21 中国科学院声学研究所 一种数据缓存方法
CN110035306A (zh) * 2019-04-23 2019-07-19 深圳市网心科技有限公司 文件的部署方法及装置、调度方法及装置
CN110858210A (zh) * 2018-08-17 2020-03-03 阿里巴巴集团控股有限公司 数据查询方法及装置
CN111444222A (zh) * 2019-01-16 2020-07-24 苏宁易购集团股份有限公司 基于Ignite缓存架构的数据查询方法及系统
CN112269947A (zh) * 2020-09-23 2021-01-26 咪咕文化科技有限公司 空间文本数据的缓存方法、装置、电子设备及存储介质
CN112988474A (zh) * 2021-05-12 2021-06-18 南京云信达科技有限公司 一种海量小文件备份热数据的方法、系统、设备及介质
CN113010475A (zh) * 2019-12-20 2021-06-22 百度在线网络技术(北京)有限公司 用于存储轨迹数据的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760137A (zh) * 2011-04-27 2012-10-31 上海特易信息科技有限公司 分布式全文检索方法以及系统
CN102779185A (zh) * 2012-06-29 2012-11-14 浙江大学 一种高可用分布式全文索引方法
CN102831253A (zh) * 2012-09-25 2012-12-19 北京科东电力控制系统有限责任公司 一种分布式全文检索系统
CN102955792A (zh) * 2011-08-23 2013-03-06 崔春明 一种实时全文搜索引擎事务处理的实现方法
CN103942289A (zh) * 2014-04-12 2014-07-23 广西师范大学 一种Hadoop上面向范围查询的内存缓存方法
CN104850572A (zh) * 2014-11-18 2015-08-19 中兴通讯股份有限公司 HBase非主键索引构建与查询方法及其系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760137A (zh) * 2011-04-27 2012-10-31 上海特易信息科技有限公司 分布式全文检索方法以及系统
CN102955792A (zh) * 2011-08-23 2013-03-06 崔春明 一种实时全文搜索引擎事务处理的实现方法
CN102779185A (zh) * 2012-06-29 2012-11-14 浙江大学 一种高可用分布式全文索引方法
CN102831253A (zh) * 2012-09-25 2012-12-19 北京科东电力控制系统有限责任公司 一种分布式全文检索系统
CN103942289A (zh) * 2014-04-12 2014-07-23 广西师范大学 一种Hadoop上面向范围查询的内存缓存方法
CN104850572A (zh) * 2014-11-18 2015-08-19 中兴通讯股份有限公司 HBase非主键索引构建与查询方法及其系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
葛微 等: "HiBase:一种基于分层式索引的高效HBase查询技术与系统", 《计算机学报》 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294695A (zh) * 2016-08-08 2017-01-04 深圳市网安计算机安全检测技术有限公司 一种面向实时大数据搜索引擎的实现方法
CN107016015A (zh) * 2016-10-08 2017-08-04 阿里巴巴集团控股有限公司 业务数据汇总方法及其系统
CN106528683A (zh) * 2016-10-25 2017-03-22 深圳市盛凯信息科技有限公司 一种基于索引分片均衡的大数据云搜索平台及其方法
CN107122437B (zh) * 2017-04-19 2020-08-04 高新兴科技集团股份有限公司 一种支持多条件检索和实时分析的大数据处理方法
CN107122437A (zh) * 2017-04-19 2017-09-01 高新兴科技集团股份有限公司 一种支持多条件检索和实时分析的大数据处理方法
CN107357901A (zh) * 2017-07-14 2017-11-17 广东工业大学 一种视频文件快速检索方法及系统
CN109788319A (zh) * 2017-11-14 2019-05-21 中国科学院声学研究所 一种数据缓存方法
CN109788319B (zh) * 2017-11-14 2020-06-09 中国科学院声学研究所 一种数据缓存方法
CN108121511A (zh) * 2017-12-21 2018-06-05 北京黑螺技术有限公司 一种分布式边缘存储系统中的数据处理方法、装置及设备
CN108121511B (zh) * 2017-12-21 2022-05-27 北京猫盘技术有限公司 一种分布式边缘存储系统中的数据处理方法、装置及设备
CN109033283A (zh) * 2018-07-12 2018-12-18 广州市闲愉凡生信息科技有限公司 一种云计算平台的分布式搜索方法
CN109086344A (zh) * 2018-07-12 2018-12-25 广州市闲愉凡生信息科技有限公司 一种云计算平台的全文检索的方法
CN110858210A (zh) * 2018-08-17 2020-03-03 阿里巴巴集团控股有限公司 数据查询方法及装置
CN110858210B (zh) * 2018-08-17 2023-11-21 阿里巴巴集团控股有限公司 数据查询方法及装置
CN111444222A (zh) * 2019-01-16 2020-07-24 苏宁易购集团股份有限公司 基于Ignite缓存架构的数据查询方法及系统
CN110035306A (zh) * 2019-04-23 2019-07-19 深圳市网心科技有限公司 文件的部署方法及装置、调度方法及装置
CN113010475A (zh) * 2019-12-20 2021-06-22 百度在线网络技术(北京)有限公司 用于存储轨迹数据的方法和装置
CN113010475B (zh) * 2019-12-20 2024-06-11 百度在线网络技术(北京)有限公司 用于存储轨迹数据的方法和装置
CN112269947A (zh) * 2020-09-23 2021-01-26 咪咕文化科技有限公司 空间文本数据的缓存方法、装置、电子设备及存储介质
CN112269947B (zh) * 2020-09-23 2024-09-13 咪咕文化科技有限公司 空间文本数据的缓存方法、装置、电子设备及存储介质
CN112988474A (zh) * 2021-05-12 2021-06-18 南京云信达科技有限公司 一种海量小文件备份热数据的方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
CN105740472A (zh) 一种分布式实时全文检索方法及系统
US8938459B2 (en) System and method for distributed index searching of electronic content
US9165033B1 (en) Efficient query rewriting
CN104850572B (zh) HBase非主键索引构建与查询方法及其系统
US11580168B2 (en) Method and system for providing context based query suggestions
US9424351B2 (en) Hybrid-distribution model for search engine indexes
CN102521406B (zh) 海量结构化数据复杂查询任务的分布式查询方法和系统
US8352474B2 (en) System and method for retrieving information using a query based index
Cambazoglu et al. Scalability challenges in web search engines
CN107783985B (zh) 一种分布式数据库查询方法、装置及管理系统
CN104102710A (zh) 一种海量数据查询方法
CN102169507A (zh) 一种分布式实时搜索引擎
CN104679898A (zh) 一种大数据访问方法
CN110321325A (zh) 文件索引节点查找方法、终端、服务器、系统及存储介质
CN106934048A (zh) 数据在线迁移方法、代理节点
CN103699700A (zh) 一种搜索引导的生成方法、系统及相关服务器
US9195745B2 (en) Dynamic query master agent for query execution
CN103823846A (zh) 一种基于图论的大数据存储及查询方法
CN103353901A (zh) 基于Hadoop分布式文件系统的表数据的有序管理方法以及系统
CN110109948A (zh) 数据查询方法、计算机设备及计算机可读存储介质
WO2016070750A1 (zh) 一种分布式缓存范围查询方法、装置及系统
CN117539915B (zh) 一种数据处理方法及相关装置
CN103823805B (zh) 基于社区的相关帖推荐系统及推荐方法
CN111666302A (zh) 用户排名的查询方法、装置、设备及存储介质
CN102004800A (zh) Pdm系统中数据的查询方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160706