[发明专利]一种分布式实时全文检索方法及系统在审
申请号: | 201610143061.2 | 申请日: | 2016-03-14 |
公开(公告)号: | CN105740472A | 公开(公告)日: | 2016-07-06 |
发明(设计)人: | 周志阳;孙毓忠;宋莹 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/123 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;梁挥 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 实时 全文 检索 方法 系统 | ||
技术领域
本发明属于分布式计算领域,涉及索引及搜索方法,具体涉及一种在分布式系统下的创建索引和依据所创建的索引文件进行全文检索的方法及系统。
背景技术
随着被检索的数据的日益增多,把源数据所建立的索引存储在于单台服务器上并在单台服务器上检索已经不能满足检索的实时性能需求,并且单台服务器对磁盘的要求也比较高,很容易成为瓶颈。
关于传统的搜索引擎(例如知名度较高的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。
本发明的分布式实时全文检索方法,其中,所述分布式搜索服务器规约各索引节点服务器和各搜索节点服务器的搜索结果。
另外,本发明还提供一种分布式实时全文检索系统,包括:
一索引分发服务器,用于发送源数据并请求建立索引,
多个索引节点服务器,用于接收所述索引分发服务器发送的源数据和请求,为所述源数据建立对应的索引数据,将所述索引数据存入本地缓存并备份至分布式文件系统;
一搜索分发服务器,用于根据用户的查询语句,分发查询指令;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610143061.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:差速器中的导轨
- 下一篇:一种让网页醒目易读的方法