导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:356
阅读量:1746348
访问量:218307
至今:
×
博文->>搜索结果(耗时0.03秒) 博文列表>>
Tags : Solr,源码分析 发表时间: 2016-02-12 00:10:05
题记:本来计划的SolrCloud的Recovery策略的文章是3篇的,但是没想到Recovery的内容蛮多的,前面三章分别介绍了Recovery的原理和总体流程,PeerSync策略,Replication策略。本章主要介绍我在实际生产环境中碰到的recovery的几个问题,以及前面漏下的几个点。一.日志中多次出现"StoppingrecoveryforzkNodeName=..."我在公司的生产环境中总是会看到连续多次出现"WARN:StoppingrecoveryforzkNodeName=..."或者"INFO:Startingrecoveryprocess.core=..."这样的日
类别:搜索引擎 | 阅读(1074)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-02-02 19:55:10
本文是SolrCloud的Recovery策略系列的第三篇文章,前面两篇主要介绍了Recovery的总体流程,以及PeerSync策略。本文以及后续的文章将重点介绍Replication策略。Replication策略不但可以在SolrCloud中起到leader到replica的数据同步,也可以在用多个单独的Solr来实现主从同步。本文先介绍在SolrCloud的leader到replica的数据同步,下一篇文章将介绍通过配置SolrConfig.xml来实现多个Solr节点间的主从同步。一.Replication策略介绍Replication的作用在前文已经介绍过了,当需要同步的数据较多时
类别:搜索引擎 | 阅读(1232)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-02-01 19:01:27
题记:前文<Solr4.8.0源码分析(20)之SolrCloud的Recovery策略(一)>中提到Recovery有两种策略,一是PeerSync和Replication。本节将具体介绍下PeerSync策略。PeeySync是Solr的优先选择策略,每当需要进行recovery了,Solr总是会先去判断是否需要进入PeerSync,只有当PeerSync被设置为跳过或者PeerSync时候发现没符合条件才会进入到Replication。这是由PeeySync的特性决定的,PeeySync是面向中断时间短,需要recovery的document个数较少时使用的策略,因此它Rec
类别:搜索引擎 | 阅读(993)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-01-31 19:58:27
题记:我们在使用SolrCloud中会经常发现会有备份的shard出现状态Recoverying,这就表明SolrCloud的数据存在着不一致性,需要进行Recovery,这个时候的SolrCloud建索引是不会写入索引文件中的(每个shard接受到update后写入自己的ulog中)。关于Recovery的内容包含三篇,本文是第一篇介绍Recovery的原因以及总体流程。1.Recovery的起因Recovery一般发生在以下三个时候:SolrCloud启动的时候,主要由于在建索引的时候发生意外关闭,导致一些shard的数据与leader不一致,那么在启动的时候刚起的shard就会从lead
类别:搜索引擎 | 阅读(1309)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析,缓存机制 发表时间: 2016-01-30 13:24:07
前文<Solr4.8.0源码分析(18)之缓存机制(一)>介绍了Solr缓存的生命周期,重点介绍了Solr缓存的warn过程。本节将更深入的来介绍下Solr的四种缓存类型,以及两种SolrCache接口实现类。1、SolrCache接口实现类前文已经提到SolrCache有两种接口实现类:solr.search.LRUCache和solr.search.LRUCache。那么两者具体有啥区别呢?1.1solr.search.LRUCacheLRUCache具有以下几个参数:size:cache中可保存的最大的项数,默认是1024initialSize:cache初始化时的大小,默认
类别:搜索引擎 | 阅读(1114)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析,缓存机制 发表时间: 2016-01-28 20:53:22
前文在介绍commit的时候具体介绍了getSearcher()的实现,并提到了Solr的预热warn。那么本文开始将详细来学习下Solr的缓存机制。1.简介Solr目前支持4中cache类型,每种缓存对应一种查询类型。filterCachedocumentCachefieldvalueCachequeryresultCacheSolr提供了两种SolrCache接口实现类:solr.search.LRUCachesolr.search.FastLRUCache。FastLRUCache是1.4版本中引入的,其速度在普遍意义上要比LRUCache更fast些。本文开始将详细介绍以上的内容,而本
类别:搜索引擎 | 阅读(1236)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-01-27 19:21:51
前面几节以add为例已经介绍了solrcloud索引链建索引的三步过程,delete以及deletebyquery跟add过程大同小异,这里暂时就不介绍了。由于commit流程较为特殊,那么本节主要简要介绍下commit的流程。1.SolrCloud的commit流程SolrCloud的commit流程同样分为三步,本节主要简单介绍下三步过程。1.1LogUpdateProcessorLogUpdateProcessor的commit比较简单,主要包含两个步骤,调用DistributedUpdateProcessor的commit以及将commit信息写入日志。1publicvoidproce
类别:搜索引擎 | 阅读(955)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-01-25 20:13:06
前面两节学习了SolrCloud索引过程以及索引链的前两步,LogUpdateProcessorFactory和DistributedUpdateProcessor。本节将详细介绍了索引链的第三步DirectUpdateHandler2和UpdateLog。1.DirectUpdateHandler2.ADDDirectUpdateHandler2过程包含了Solr到Lucene的索引过程,在整个索引链中是最复杂也最重要的过程。首先,我们来查看在Solrconfig.xml中关于DirectUpdateHandler2的配置。140<updateHandlerclass="solr.Di
类别:搜索引擎 | 阅读(1041)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-01-23 13:15:49
上一节主要介绍了SolrCloud分布式索引的整体流程图以及索引链的实现,那么本节开始将分别介绍三个索引过程即LogUpdateProcessor,DistributedUpdateProcessor,DirectUpdateHandler2。本节主要研究下LogUpdateProcessor和DistributedUpdateProcessor。1.LogUpdateProcessor上一节中记述了LogUpdateProcessor的实例化,如下所示。从getInstance可以发现,LogUpdateProcessor在SolrCloud中并不一定会起作用,只有当Solr的日志等级为IN
类别:搜索引擎 | 阅读(976)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-01-21 19:04:23
1.SolrCloud的索引过程流程图这里借用下《solrCloudUpdateRequestHandling更新索引流程》流程图:由上图可以看出,SolrCloud的索引过程主要通过一个索引链过程来实现的,那么本节主要讲述下索引链以及DistributedUpdateProcessor这个过程。2.SolrCloudupdate索引链SolrCloud的Update索引链的类是UpdateRequestProcessorChain,这个类在Solr初始化的时候就会进行定义。SolrCloud的Update索引链的组成可以通过solrconfig.xml进行自定义,比较灵活,例如:1<u
类别:搜索引擎 | 阅读(992)| 回复(0)| (0) 阅读全文>>