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都是这么用的)。

各个术语之间对应关系图

(作者:卡尔 http://www.cnblogs.com/arli)

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

  1. solr的collection,shard,replica,core概念

    一.collection 1.由多个cores组成一个逻辑索引叫做一个collection.一个collection本质上是一个可以跨越多个核的索引,同时包含冗余索引. 2.collection由不同 ...

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

    PHP中空字符串介绍0.null.empty和false之间的关系 作者: 字体:[增加 减小] 类型:转载 时间:2012-09-25   用PHP开发那么久,PHP中空字符串.0.null.emp ...

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

    SolrCloud是什么 参考 solrCloud官网介绍 http://lucene.apache.org/solr/guide/6_6/solrcloud.html Apache Solr 可以设 ...

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

    0是数字,是empty,是false,不是null,值相当于空字符串,但类型不是字符串,去空格或强制转换为字符串型时不等于空字符串 ""的值相当于0,是empty,是空字符串,是f ...

  5. SolrCloud:依据Solr Wiki的译文

    本文是作者依据Apache Solr Document的译文.翻译不对或者理解不到位的地方欢迎大家指正!谢谢! Nodes, Cores, Cluster and Leaders Nodes and ...

  6. CentOS下用Tomcat+Zookeeper+Nginx+Solr完美搭建SolrCloud平台(五)

    六.修改 /etc/rc.d/rc.local 文件,设置开机自启动 1.nginx 主机的设置 [root@nginx 桌面]# vi /etc/rc.d/rc.local #!/bin/sh to ...

  7. Solr 12 - 部署SolrCloud中遇到的问题 + 解决方法

    目录 1 ZooKeeper管理配置文件的另一种方法 2 Solr服务不能访问 3 部分节点处于"Recovering"或"Gone"状态 4 Solr集群不稳 ...

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

    solrCloud的搭建可以有两种方式:使用solr内嵌的jetty来搭建:使用外部web容器tomcat来搭建.对于使用jett来搭建参考solr官方的手册照着做肯定ok,下面我主要讲的是如何使用t ...

  9. 使用SolrJ客户端管理SolrCloud(Solr集群)

    1.使用SolrJ客户端管理SolrCloud(Solr集群). package com.taotao.search.service; import java.io.IOException; impo ...

随机推荐

  1. hibernate----N-N--(人与地点)

    package com.ij34.dao; import java.util.HashSet; import java.util.Set; import javax.persistence.*; @E ...

  2. Principal Data Scientist

    http://stackoverflow.com/jobs/124781/principal-data-scientist-concur-technologies-inc?med=clc&re ...

  3. IOS 集成第三方登录

    我使用的是友盟上集成的第三方登录功能,一共使用了三个应用的登录授权,QQ.微信.新浪微博.由于第三方登录授权成功后,需要跳转到一个新的界面,所以这里需要在项目里设置第三方登录的SSO授权.就是必须安装 ...

  4. 泛函编程(35)-泛函Stream IO:IO处理过程-IO Process

    IO处理可以说是计算机技术的核心.不是吗?使用计算机的目的就是希望它对输入数据进行运算后向我们输出计算结果.所谓Stream IO简单来说就是对一串按序相同类型的输入数据进行处理后输出计算结果.输入数 ...

  5. SpringFramework的简介

    一.前言 Spring提供了一种轻量级的解决方案,用于建立"快装式企业应用".在此基础上,Spring还提供了包括声明式事务管理,RMI或Web Services远程访问业务逻辑, ...

  6. servlet同一用户不同页面共享数据

    如何实现不同页面之间的数据传递,实现页面的数据共享?常见的方法有以下4种: 1)表单提交(form) 2)sendRedirect()跳转 3)session技术 4)Cookie技术 表单提交 这是 ...

  7. 25款响应式,支持视网膜显示的 Wordpress 主题

    响应式和现代设计风格的多用途 WordPress 主题与能够非常灵活的适应所有设备.而高级主题能够更大可能性的轻松定制.所有的主题是完全响应式的,您可以从主题选项中禁用/启用响应模式. 多用途的响应式 ...

  8. javascript --- 设计模式之Module模式

    基本用法 先看一下最简单的一个实现,代码如下: var Calculator = function(){ // 这里可以声明私有成员 var eqCtrl = document.getElement( ...

  9. 玩转 HTML5 Placeholder

    Placeholder(占位符) 是 HTML5 新增的一个 HTML 属性,用来对可输入字段的期望值提供提示信息,目前已经得到主流浏览器的广泛支持,使用方式非常简单: <input id=&q ...

  10. ae IMap接口成员

    使用IMap接口显示各种数据源的数据.IMap接口的成员ActiveGraphicsLayer:活动图形图层,如果没有将创建一个基本memory graphics layer.AddLayer:向地图 ...