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. @RequestMapping映射请求

     1.SpringMVC使用@RequestMapping注解为控制器指定可以处理哪些URL请求.   2.在控制器的类定义和方法定义处都可标注@RequestMapping   2.1 类定义处:提 ...

  2. 【转】nginx优化 突破十万并发

    一.一般来说nginx 配置文件中对优化比较有作用的为以下几项: 1. worker_processes 8; nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数 (如,2个四核的cpu计 ...

  3. TestNG官方文档中文版(2)-annotation

    TestNG的官方文档的中文翻译版第二章,原文请见 http://testng.org/doc/documentation-main.html 2 - Annotation 这里是TestNG中用到的 ...

  4. 【转】UTF-8汉字正则表达式

    原文链接:http://blog.csdn.net/wide288/article/details/30066639 $str = "编程";// if(!preg_match(& ...

  5. Redis-复制

    Redis 的复制 (replication) 是一种使用和配置起来非常简单的主从(master-slave)复制,允许 Redis 从服务器成为主服务器的精确副本.以下是关于 Redis 复制的一些 ...

  6. jQuery选择器。 5.21 《深夜还在编码的你》

    (之所以字体弄那么大是因为省眼,程序员不容易,程序员的眼睛更不容易,请保护我们的眼睛) 选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器. 熟练地使用选 ...

  7. xshell 通过ssh连接 ubuntu15_x64

    参考: http://www.cnblogs.com/wuyuegb2312/archive/2013/03/28/2986963.html 中文乱码在客户端xshell解决:http://jingy ...

  8. iOS安全笔记

    这一篇文章, 加上里面链接的几篇文章(一个百度的, 两个阮一峰的), 全看完应该了解得差不多了 如何打造一个安全的App?这是每一个移动开发者必须面对的问题.在移动App开发领域,开发工程师对于安全方 ...

  9. Restive.js – 轻松让网站变成响应式和自适应

    Restive.js 是一个 jQuery 插件,可以帮助您轻松快捷地添加响应式功能到你网站,适应几乎所有拥有 Web 功能的设备.使用设备检测,高级管理断点,以及方向管理的组合,Restive.js ...

  10. javascript使浏览器关闭前弹出确认

    当用户关闭页面时,弹出对话框,让用户确认是否关闭,选择确定则页面关闭,否则页面不关闭. 效果体验:http://keleyi.com/keleyi/phtml/js/index.htm 完整代码: & ...