[发明专利]一种基于索引分片均衡的大数据云搜索系统及其方法有效
申请号: | 201610937723.3 | 申请日: | 2016-10-25 |
公开(公告)号: | CN106528683B | 公开(公告)日: | 2018-04-06 |
发明(设计)人: | 蔡叙明 | 申请(专利权)人: | 深圳市盛凯信息科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518000 广东省深圳市福田区车公*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 索引 分片 均衡 数据 搜索 平台 及其 方法 | ||
技术领域
本发明涉及一种应用云计算平台实现的大数据信息搜索技术,尤其涉及一种基于索引分片均衡的大数据云搜索系统及其方法。
背景技术
在网络信息爆炸的大数据时代,构建高效、易用、精确的搜索功能及其平台是普遍的需求。不仅是谷歌、百度等专业级搜索网站需要不断优化和升级,即便是在普通的门户、论坛、社交或商务网站的服务中,也希望嵌入功能强大又节约资源和容易实现的网内和全网搜索工具,为目标客户提供便利。
Apache Lucene是一种开源、高度可扩展的搜索引擎架构,专注于网络信息的索引和搜索,可以为各类网站和应用构建搜索功能。Wikipedia、Linkedln等知名网站都应用了Apache Lucene的搜索引擎架构。
图1示出了Apache Lucene搜索引擎的总体架构。Apache Lucene的搜索引擎架构总体上看包括分析器、索引编写器和查询引擎。Apache Lucene搜索引擎支持从网页、Word文档、PDF文档等各种各样的数据源当中提取文本数据并提供给分析器。分析器负责处理文本数据,将其转换为标记,后续将作为索引中的″项″(Term)而被添加到索引当中;分析器在生成标记的过程中对文本数据执行提取单词、移除通用单词、忽略标点、转换词根、大小写统一等各种转换,这样有利于搜索的准确,并可以减小后续所生成的索引的大小。索引编写器负责生成和管理索引,包括创建新的索引、更改现有索引、删除索引等操作,所生成的索引以索引文件的方式被保存在本地或者非本地的索引文件库当中;索引编写器的主要作用是将由分析器基于原始的文本数据转换而成的标记保存在索引的数据结构之中,索引是基本的搜索对象,其数据结构有利于利用关键词快速对索引进行查询。查询引擎进一步包括查询解析器和索引搜索器;查询解析器用于将用户输入的关键词、词组、短句等通过调用分析器转换为查询条件项;索引搜索器基于转换而来的查询条件项,在索引文件集的索引当中进行查询,根据索引与查询条件项的匹配程度计算分数,并按照分数的排序返回文档的集合,作为搜索结果反馈给用户。
索引在Apache Lucene搜索引擎中居于核心位置,因而该引擎对于索引进行了多种优化,包括使索引文件在各种系统和平台上具有兼容性;在逆序索引的基础上又引入了索引分片技术,从而能够为文本数据生成若干小的索引分片,能够提升在索引当中搜索查询的速度。Apache Lucene搜索引擎为索引赋予的以上新特性,使之特别适合于实现云搜索系统。
事实上,在面向大数据实现搜索服务的情况下,如果局限于在单一网络节点上建立索引文件库,则该节点所承担的查询负荷过重,超出了其处理能力,有可能造成搜索结果的生成延迟过大。因而,可以布署大量的用于存储索引分片的节点,组成一个分布式高可用的集群。对于由用户输入的关键词等所生成的查询请求,通过匹配分析将该查询请求指向特定的索引分片,则由存储该索引分片的节点来承担该索引分片被查询请求调用所产生的负荷。
为了保证可靠性,还建立了副本机制,为主索引分片创立一个或多个副本索引分片,副本索引分片存储在主索引分片所在节点以外的其它节点上;如果主索引分片不可用,可以从副本索引分片中重新选出一个作为主索引分片,替代原来的主索引分片继续接受查询调用。
由此可见,在基于Apache Lucene引擎所实现的云搜索系统当中,可以采用节点的集群来存储和承担索引分片,将搜索带来的负荷由集群中的各个节点分担,并且具有主备机制,可靠性有了很大的提高。
不过,在上述方案中,又产生了新的问题,即大量的索引分片应该如何在各个节点之间进行分配。对于这个问题,目前Apache Lucene引擎没有给出可用的解决方案。现有技术中多采用固定的映射规则来进行分配,例如对于由数据源服务器A提供的文本数据所生成的索引分片,固定分配给节点Nodel进行存储和承担查询调用负荷,而数据源服务器B提供的数据源所生成的索引分片固定分配给节点Node2;或者,网页数据所生成的索引分片固定分配给节点Nodel,文档数据所生成的索引分片固定分配给节点Node2。还有的解决方案将各节点作为同一化处理,索引分片完全随机分配。以上分配方案很容易造成的缺陷是节点之间不均衡,部分节点所存储的索引分片数量过多以及由于索引分片被查询调用所带来的计算负荷过大,情况严重时又会造成部分节点过载。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市盛凯信息科技有限公司,未经深圳市盛凯信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610937723.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种呼叫中心大数据文本挖掘系统
- 下一篇:一种建立工程材料数据库的方法及系统