Solr术语介绍:SolrCloud,单机Solr,Collection,Shard,Replica,Core之间的关系

Solr有一堆让人发晕的术语如:collections,shards,replicas,cores,config sets.

在了解这些术语之前需要先做做如下功课:

1)什么是倒排索引?

2)搜索引擎是怎么工作的?

Solr术语介绍

Collections:SolrCloud集群中的一个完整的逻辑上的倒排索引(什么是倒排索引?),和一个独立的config set相关联,由一个或者多个shard组成,shard可以在不同的服务器上,shard对搜索接口的调用者来说是隐形的,搜索者不用考虑在搜索时如何指定shard,只需要传入Collection名即可。

Config Set:包含两个最根本的配置文件:solrconfig.xml和schema.xml,视这两个文件的内容而定是否需要包含其他文件。SolrCloud的config set目录会上传到zookeeper中,而传统单机Solr的config set是保存在本地文件夹中。

Core:一个Solr Core是一个包含索引和配置文件的运行实例,以前Solr Core是单例模式的,后来重构成了多实例的,(什么是SolrCores?)。一个Replica对应一个Core实例,同一个Shard对应的Replica的Core的配置和索引数据是一样的,但是是不同实例。

Replica:Shard的一个副本。一个Shard会在不同的服务器上保留Repicas(副本),通过选举机制(和zookeeper的leader选举机制类似)在Replicas(副本)中选出一个leader来对外提供服务。leader连不上了就重新选其他副本作为leader,这样能保证至多(副本数-1)台服务器挂掉后仍然能正常工作。

Shard:Collection的一个逻辑分片。每个Shard对应一个Core,并且包含一个索引(Collection)的文档(Documents)的不相交子集,一个Shard由至少一个Replica组成,当有多个Replicas时,选举机制选出作为leader的Replica。单机Solr中,Shard指的是Solr cores.

Zookeeper:分布式集群的基本组件,MapReduce、HDFS、Hive等分布式系统都基于它,Leader选举也要靠它。Solr有自己的内嵌Zookeeper,但是一般不会用内嵌的。部署Zookeeper至少需要3台主机(出于节约成本,可以和Solr实例部署在相同的服务器上,目前很多Solr users都是这么用的)。

各个术语之间对应关系图

时间: 2025-01-19 21:13:07

Solr术语介绍:SolrCloud,单机Solr,Collection,Shard,Replica,Core之间的关系的相关文章

solr的collection,shard,replica,core概念

一.collection 1.由多个cores组成一个逻辑索引叫做一个collection.一个collection本质上是一个可以跨越多个核的索引,同时包含冗余索引. 2.collection由不同的shard组成,每个shard又多个replica,每个shard中有一个leadereplica,每个replica是一个物理索引,所以一个replica对应一个core 二.core和collection的区别 1.在单节点的solr上,一个core等于一个collection. 2.在sol

solr集群SolrCloud(solr+zookeeper)windows搭建

SolrCloud是什么 参考 solrCloud官网介绍 http://lucene.apache.org/solr/guide/6_6/solrcloud.html Apache Solr 可以设置solr集群,并且有容错性和高可用性能力,这被称为SolrCloud,它的功能是提供分布式索引和搜索,支持以下功能: 集中式的中央配置 自动负载平衡和故障切换 ZooKeeper集成,用于集群协调和配置. SolrCloud是灵活的分布式搜索和索引,没有主节点分配节点,分片和副本.相反,Solr使

PHP中空字符串介绍0、null、empty和false之间的关系

0是数字,是empty,是false,不是null,值相当于空字符串,但类型不是字符串,去空格或强制转换为字符串型时不等于空字符串 ""的值相当于0,是empty,是空字符串,是false,不是null,不是数字字符串 null的值相当于空字符串,值相当于0,是empty,是false,不是字符串,不是数字0 "=="只要值相等就满足条件: "==="需要两个变量的值和类型都相等: strval();将变量转换为字符串类型: intval();将

SolrCloud:根据Solr Wiki的译文

本文是作者根据Apache Solr Document的译文,翻译不正确或者理解不到位的地方欢迎大家指正!谢谢! Nodes, Cores, Cluster and Leaders Nodes and Cores 在SolrCloud中,一个node就是一个JVM运行Solr的实例,通常称之为server.每个Solrcore都可以被当作一个node.任何一个node都可以包含一个Solr的实例和多样化的数据在其中. Solr core中存储了基于一篇文章中发现的文本内容和字段的索引.一个单独的

solr安装-tomcat+solrCloud构建稳健solr集群

solr安装-tomcat+solrCloud构建稳健solr集群 2014-05-29 12:17 11985人阅读 评论(2) 收藏 举报  分类: solr(1)  版权声明:本文为博主原创文章,未经博主允许不得转载. solrCloud的搭建可以有两种方式:使用solr内嵌的jetty来搭建:使用外部web容器tomcat来搭建.对于使用jett来搭建参考solr官方的手册照着做肯定ok,下面我主要讲的是如何使用tomcat来搭建solrCloud. 废话不多说,开始我们的工作! 1.搭

【Solr技巧】SolrCloud 选举时间缩短的方法

原文:http://blog.csdn.net/duck_genuine/article/details/8332935 当一个leader挂掉后,其中的几个replica 要重新选一个leader出来,但默认的是要等待3分钟,这个时间也太长了.对于开始在测试solrCloud功能来说,等待这么长时间,有可能觉得重新选举失败的挫败感. 默认情况下可以看到,当某个leader挂彩了时候,日志打印如下: INFO: Waiting until we see more replicas up: tot

Linux安装单机solr

前言: 1 solr是一个severlet,只处理数据 2 tomcat是运行serverlet的环境,也就是个serverlet容器 大概就这么个意思吧:一个访问请求过来,会先到达tomcat,然后tomcat将请求变为一个request object,然后solr会用自己的搜索引擎处理好这个请求,返回数据. 3 solr是基于lucene java库的企业级搜索服务器.包含了XML/HTTP, JSON API, 高亮查询结果, faceted search, 缓存, 复制, web管理界面

solrCloud 单机多节点部署(zookeeper3.4.6+solr4.10.4+tomcat7.0.61)

本套方案是在linux单主机上部署多个solr节点,最终达到solrCloud的效果.先展示下solrCloud单机部署的效果: 在solrCloud上已经创建了两个collection. 接下来就说说这个部署过程: 首先创建一个solrcloud目录,用于存放solrCloud所有相关的软件和配置. 1.下载安装zookeeper 按理来说需要多节点部署zookeeper,由于这个工作比较简单,需要的可以从网络上的其他地方搜索部署.本次使用单节点zookeeper,测试使用环境足以.当下载解压

Solr初始化源码分析-Solr初始化与启动

用solr做项目已经有一年有余,但都是使用层面,只是利用solr现有机制,修改参数,然后监控调优,从没有对solr进行源码级别的研究.但是,最近手头的一个项目,让我感觉必须把solrn内部原理和扩展机制弄熟,才能把这个项目做好.今天分享的就是:Solr是如何启动并且初始化的.大家知道,部署solr时,分两部分:一.solr的配置文件.二.solr相关的程序.插件.依赖lucene相关的jar包.日志方面的jar.因此,在研究solr也可以顺着这个思路:加载配置文件.初始化各个core.初始化各个