Solr分片描述

分片是集合的逻辑分区,包含集合中文档的子集,这样集合中的每个文档都正好包含在一个分片中。集合中包含每个文档的分片取决于集合的整体“分片”策略。
当您的集合对于一个节点来说太大时,您可以通过创建多个分片将其分解并分段存储。
例如,您可能有一个集合,其中每个文档的“country”字段确定它是哪个shard的一部分,因此来自同一国家的文档位于同一个位置。不同的集合可能只在每个文档的uniquekey上使用“hash”来确定其分片。
在solrcloud之前,solr支持分布式搜索,允许跨多个分片执行一个查询,因此查询是针对整个solr索引执行的,搜索结果中不会遗漏任何文档。因此,在分片上分割索引并不是一个单独的solrcloud概念。
Solrcloud解决了这些限制。支持自动分发索引进程和查询,ZooKeeper提供故障转移和负载平衡。此外,每个分片都可以有多个副本,以增强健壮性。
Solrcloud 没有主从之分,相反,每个分片至少由一个物理副本组成,其中一个是领导者。领导者会自动当选,最初是基于先到先得的原则,然后根据zookeeper的选举原理。

每个分片中都有一个或多个副本,副本的类型有3种:

1. NRT:

This is the default. A NRT replica (NRT = NearRealTime) maintains a transaction log and writes new documents to it’s indexes locally. Any replica of this type is eligible to become a leader. Traditionally, this was the only type supported by Solr.
NRT:这是默认设置。NRT副本(NRT=NearRealtime)维护事务日志,并在本地将新文档写入其索引。此类型的任何副本都有资格成为领导者。传统上,这是solr支持的唯一类型。

2. TLOG:

This type of replica maintains a transaction log but does not index document changes locally. This type helps speed up indexing since no commits need to occur in the replicas. When this type of replica needs to update its index, it does so by replicating the index from the leader. This type of replica is also eligible to become a shard leader; it would do so by first processing its transaction log. If it does become a leader, it will behave the same as if it was a NRT type of replica.
TLOG:这种类型的副本维护事务日志,但不索引本地文档更改。这种类型有助于加速索引,因为副本中不需要进行提交。当这种类型的副本需要更新其索引时,它通过从领队复制索引来更新索引。这种类型的副本也有资格成为一个分片领队;它可以通过首先处理其事务日志来实现这一点。如果它真的成为一个领导者,它的行为将与它是一个NRT类型的复制品一样。

3. PULL:

This type of replica does not maintain a transaction log nor index document changes locally. It only replicates the index from the shard leader. It is not eligible to become a shard leader and doesn’t participate in shard leader election at all.
PULL:这种类型的副本既不维护事务日志,也不在本地更改索引文档。它只复制分片领导者的索引。它没有资格成为一个分片领袖,根本不参加分片领袖选举。

Solrcloud搭建及分片操作

1、在solr安装解压后的bin目录下输入:solr -e cloud

2、输入想要创建的solr节点数,此实例输入的是3个节点

3、输入每个节点的端口号,此实例3个节点的端口号分别为:20001,20002,20003


自此solrcloud搭建成功。

4、访问solr客户端管理页面:http://localhost:20001/solr/#/

5、创建集合以及设置分片和分片的副本:


Solr分片机制以及Solrcloud搭建及分片操作的更多相关文章

  1. Centos7:solr伪集群(SolrCloud)搭建

    JDK,tocmat环境搭建 zookeeper集群安装 解压缩zookeeper的压缩包 创建data目录 复制zoo_sample.cfg为zoo.cfg 修改confg/zoo.cfg中 dat ...

  2. 搭建MongoDB分片集群

    在部门服务器搭建MongoDB分片集群,记录整个操作过程,朋友们也可以参考. 计划如下: 用5台机器搭建,IP分别为:192.168.58.5.192.168.58.6.192.168.58.8.19 ...

  3. Solr学习笔记(4) —— SolrCloud的概述和搭建

    一.概述 1.1 什么是SolrCloud Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Lucene为基础实现的文本检索应用服务.Solr部署方式有单机方式.多机 ...

  4. MongoDB 分片的原理、搭建、应用

    一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这 ...

  5. 搭建mongodb分片

    搭建mongodb分片 http://gong1208.iteye.com/blog/1622078 Sharding分片概念 这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在shardi ...

  6. mongodb 3.4 集群搭建:分片+副本集

    mongodb是最常用的nodql数据库,在数据库排名中已经上升到了前六.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...

  7. mongodb 3.6 集群搭建:分片+副本集

    mongodb是最常用的nosql数据库,在数据库排名中已经上升到了前六.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...

  8. 第43章:MongoDB-集群--Sharding(分片)--多机的搭建

    ①环境准备 服务器规划 服务器[192.168.0.75] 服务器[192.168.0.84] 服务器[192.168.0.86] mongos mongos mongos config server ...

  9. ElasticSearch高可用集群环境搭建和分片原理

    1.ES是如何实现分布式高并发全文检索 2.简单介绍ES分片Shards分片技术 3.为什么ES主分片对应的备分片不在同一台节点存放 4.索引的主分片定义好后为什么不能做修改 5.ES如何实现高可用容 ...

随机推荐

  1. Entity Framework Core生成的存储过程在MySQL中需要进行处理及PMC中的常用命令

    在使用Entity Framework Core生成MySQL数据库脚本,对于生成的存储过程,在执行的过程中出现错误,需要在存储过程前面添加 delimiter // 附:可以使用Visual Stu ...

  2. 基于hap的文件上传和下载

    序言 现在,绝大部分的应用程序在很多的情况下都需要使用到文件上传与下载的功能,在本文中结合hap利用spirng mvc实现文件的上传和下载,包括上传下载图片.上传下载文档.前端所使用的技术不限,本文 ...

  3. String 用法 简单API

    明天天梯赛选拔,怕不是STl忘到姥姥家去了,赶紧复习一下 构造str string s = "fuckyouRMA"; string s1(s, 2); de(s1); strin ...

  4. .Net Core 商城微服务项目系列(十一):MQ消费端独立为Window服务+消息处理服务

    之前使用MQ的时候是通过封装成dll发布Nuget包来使用,消息的发布和消费都耦合在使用的站点和服务里,这样会造成两个问题: 1.增加服务和站点的压力,因为每次消息的消费就意味着接口的调用,这部分的压 ...

  5. python openpyxl内存不主动释放 ——关闭Excel工作簿后内存依旧(MemoryError)

    在openpyxl对Excel读写操作过程中,发现内存没有马上释放,如果得多次读取大文件,内存爪机,后续代码就无法运行. 尝试:各种wb.save()或者with open等途径无法解决. 发现:因为 ...

  6. MySQL InnoDB如何保证事务特性

    如果有人问你"数据库事务有哪些特性"?你可能会很快回答出原子性.一致性.隔离性.持久性即ACID特性.那么你知道InnoDB如何保证这些事务特性的吗?如果知道的话这篇文章就可以直接 ...

  7. javascript关键字typeof、instanceof、constructor判断类型

    鉴于 ECMAScript 是松散类型的,因此需要有一种手段来检测给定变量的数据类型.对于这个问题,JavaScript 也提供了多种方法,但遗憾的是,不同的方法得到的结果参差不齐. 下面介绍常用的几 ...

  8. spring Bean的三种配置方式

    Spring Bean有三种配置方式: 传统的XML配置方式 基于注解的配置 基于类的Java Config 添加spring的maven repository <dependency> ...

  9. 计算几何基础算法几何C++实现

    This file is implementation of Common Common Computational Geometry Algorithms.Please please pay att ...

  10. C#学习--SQL server数据库基本操作(连接、增、删、改、查)封装

    写在前面: 在日常的工作中,通常一个项目会大量用的数据库的各种基本操作,因此小编几个常见的数据库的操作封装成了一个dll方便后续的开发使用.SQLserver数据库是最为常见的一种数据库,本文则主要是 ...