分布式搜索系统、索引分发方法及存储介质技术方案

技术编号:23315031 阅读:35 留言:0更新日期:2020-02-11 17:46
本申请实施例公开了一种分布式搜索系统、索引分发方法及存储介质,该系统包括:分布式索引构建平台,用于构建索引并存储在索引存储集群,将资源描述信息写入到状态存储集群;索引存储集群;状态存储集群;主控集群,发送索引下载指令到状态存储集群;搜索集群,包括多个搜索节点,多个搜索节点组成对等网络,若搜索节点从状态存储集群中监听到索引下载指令,则确定自身服务状态,若为在线状态,则使用单线程下载索引分片并使用直接IO写入硬盘;若为离线状态,则使用多线程下载索引分片并使用缓存IO写入硬盘。本申请实施例在服务在线时保证了服务的稳定性,并在服务离线时提高了索引的下载速度。

【技术实现步骤摘要】
分布式搜索系统、索引分发方法及存储介质
本申请涉及计算机
,特别是涉及一种分布式搜索系统、索引分发方法及存储介质。
技术介绍
一个完整的搜索生态至少包括索引服务和搜索服务。索引服务创建索引文件,然后由索引分发系统将索引文件分发到搜索服务,搜索服务加载索引文件后对外提供服务。目前主流的搜索开源框架有Solr和Elasticsearch,它们采用的索引分发方案是从主(Master)节点同步到从(Slave)节点,多个从节点从同一个主节点下载索引文件。索引分发的速度严重依赖主节点的机器性能和网络带宽,无法随索引大小和搜索节点数量做扩展,同时主节点的压力过大,影响搜索服务的稳定性。
技术实现思路
本申请实施例提供一种分布式搜索系统、索引分发方法及存储介质,以提高搜索服务的稳定性。为了解决上述问题,第一方面,本申请实施例提供了一种分布式搜索系统,包括:分布式索引构建平台,用于构建索引,将所述索引按照索引分片存储在索引存储集群,并将所述索引的资源描述信息写入到状态存储集群;索引存储集群,用于按照索引本文档来自技高网...

【技术保护点】
1.一种分布式搜索系统,其特征在于,包括:/n分布式索引构建平台,用于构建索引,将所述索引按照索引分片存储在索引存储集群,并将所述索引的资源描述信息写入到状态存储集群;/n索引存储集群,用于按照索引分片存储所述索引;/n状态存储集群,用于保存所述资源描述信息,对搜索节点的服务进行注册,并保存所述搜索节点的服务状态,接收主控集群发送的索引下载指令;/n主控集群,用于监听所述状态存储集群,若监听到所述资源描述信息,则发送索引下载指令到状态存储集群;/n搜索集群,包括多个搜索节点,所述多个搜索节点组成对等网络,若所述搜索节点从状态存储集群中监听到所述索引下载指令,则确定自身提供搜索服务的服务状态,若...

【技术特征摘要】
1.一种分布式搜索系统,其特征在于,包括:
分布式索引构建平台,用于构建索引,将所述索引按照索引分片存储在索引存储集群,并将所述索引的资源描述信息写入到状态存储集群;
索引存储集群,用于按照索引分片存储所述索引;
状态存储集群,用于保存所述资源描述信息,对搜索节点的服务进行注册,并保存所述搜索节点的服务状态,接收主控集群发送的索引下载指令;
主控集群,用于监听所述状态存储集群,若监听到所述资源描述信息,则发送索引下载指令到状态存储集群;
搜索集群,包括多个搜索节点,所述多个搜索节点组成对等网络,若所述搜索节点从状态存储集群中监听到所述索引下载指令,则确定自身提供搜索服务的服务状态,若所述服务状态为在线状态,则使用单线程下载所述索引中的索引分片,并使用直接IO将所述索引分片写入硬盘;若所述服务状态为离线状态,则使用多线程下载所述索引分片,并使用缓存IO将所述索引分片写入硬盘。


2.根据权利要求1所述的系统,其特征在于,所述主控集群还用于:
将分批次发送给所述搜索节点的索引切换指令发送到状态存储集群。


3.根据权利要求1所述的系统,其特征在于,所述搜索节点还用于:
若所述服务状态为在线状态,在所述索引分片下载成功后,使用直接IO从所述硬盘读取所述索引分片,使用单线程对所述索引分片进行解压,并使用直接IO将解压后的索引分片写入所述硬盘。


4.根据权利要求3所述的系统,其特征在于,所述搜索节点还用于:
当从所述状态存储集群监听到索引切换指令时,判断所述索引分片是否解压完毕;
若所述索引分片未解压完毕,则将所述服务状态更改为离线状态,并使用缓存IO从所述硬盘读取所述索引分片,使用多线程对所述索引分片进行解压,使用缓存IO将解压后的索引分片写入所述硬盘,在解压完毕后将原有的旧索引分片切换为所述索引分片;
若所述索引分片已解压完毕,则将所述服务状态更改为离线状态,并将所述旧索引分片切换为所述索引分片。


5.根据权利要求1所述的系统,其特征在于,所述搜索节点还用于:
若所述服务状态为离线状态,在所述索引分片下载成功后,使用缓存IO从所述硬盘读取所述索引分片,使用多线程对所述索引分片进行解压,并使用缓存IO将解压后的索引分片写入所述硬盘。


6.根据权利要求5所述的系统,其特征在于,所述搜索节点还用于:
当从所述状态存储集群监听到索引切换指令时,在所述索引分片解压完毕后,将原有的旧索引分片切换为所述索引分片。


7.一种索引分发方法,其特征在于,包括:
分布式索引构建平台构建索引,将所述索引按照索引分片存储在索引存储集群,并将所述索引的资源描述信息写入到状态存储集群;
主控集群监听所述状态存储集群,若监听到所述资源描述信息,则发送索引下载指令到状态存储集群;
若搜索集群中的搜索节点从状态存储集群中监听到所述索引下载指令,则确定自身提供搜索服务的服务状态;
若所述服务状态为在线状态,则所述搜索节点使用单线程下...

【专利技术属性】
技术研发人员:赵朝兴张桂贤项肖华张俊浩张弓王仲远
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1