Solr Overseer
Overseer也可以称为cluster leader,也就是集群的主,与shard leader有着很大的区别,shard leader主要是为了保证collection数据的一致性,而Overseer则是为了保证集群操作以及数据的安全性。
Overseer也可以称为cluster leader,也就是集群的主,与shard leader有着很大的区别,shard leader主要是为了保证collection数据的一致性,而Overseer则是为了保证集群操作以及数据的安全性。
本文翻译至:Segment Merging, Deleted Documents and Why Optimize May Be Bad For You,感兴趣的同学可以直接跳至原文阅读,体验会更好,因为下面有些内容会引起你的高度不适(胡编乱造)。
Transaction log(tlog) 记录原始文档用于recovery,solrcloud中每个节点都自己的tlog。在更新时整个文档会被写入tlog,对于原子(atomic)更新,不光要更新整个文档需要写入tlog,该文档的历史版本也会被写入。总的来说tlog主要是保证文档的一致性,当JVM意外停止的时候,保证索引时最新的。
2018.09.05,深夜,最近因为各种事情,心烦意乱,睡不着,索性翻身起来,写一些没有营养的的东西。
个人认为,solr的分布式存在两种:
因为我认为真正意义上的分布式,不光是分流量,同样需要做到计算的分布式。但是呢,无论是哪一种,但凡涉及到数据的一致性的系统,基本都会考虑只允许主写,solr也是一样,只允许shard leader进行索引的索引的写入,再由主向从写入。
因转到人机对话项目上已经有一段时间了,甚是想念solr,所以特地来回顾一下solrcloud中的一些概念,内容不是很全,而且也没有逻辑,就当是备忘吧。
很多分布式系统都会选用zookeeper作为分布式的协调者,solr同样也不例外,在solr中zookeeper主要起到以下作用:
当我们在电商网站上搜索一个关键词想买一个东西的,例如:“appe”这个词,但是这个词对于电商网站来说,并没有相应的商品,但是如果直接返回空的列表页的话,用户体验还是相当差的,所以通常电商网站上会给出:
这其实就是拼写纠错。
Tensorflow是一个用来解决数学计算的计算框架,其实不管是CNN、RNN或者是各种变种神经网络模型,本质上都是各种数学公式堆叠在一起的网络结构,Tensorflow的亮点就在于采用数据流图的方式将数学公式粘合在一起,数据流图中的node一般都是各种数学操作,而edge则表示操作结果的数据流向。