转载请出自出处:http://www.cnblogs.com/hd3013779515/

1.创建collection

name:指明collection名字

router.name:指定路由策略,默认为compositeId路由

numShards:collection的逻辑分片数量

shards:指定具体的shard列表

replicationFactor:一个分片的replicas数量

maxShardsPerNode :一个solr节点上可以创建的逻辑分片数量,默认值为1

createNodeSet:可以指定在那些solr节点上创建collection

路由规则

SolrCloud中对于文档分布在哪个shard上,提供了两种路由算法:compositeId和implicit

在创建Collection时,需要通过router.name指定路由策略,默认为compositeId路由。

compositeId

该路由为一致性哈希路由,shards的哈希范围从80000000~7fffffff。初始创建collection是必须指定numShards个数,compositeId路由算法根据numShards的个数,计算出每个shard的哈希范围,因此路由策略不可以扩展shard。

implicit

该路由方式指定索引具体落在路由到哪个Shard,这与compositeId路由方式索引可均匀分布在每个shard上不同。同时只有在implicit路由策略下才可创建shard。

利用solrJ新建索引时,需要在代码中指定索引具体落在哪个shard上,添加代码:

doc.addField("_route_", "shard_X");

同时在schema.xml添加字段

<field name="_route_" type="string"/>

当我们想指定配置文件,索引目录时,可以加入如下参数

property.name=value

string

No

 

Set core property name to value. See core.properties file contents.

可选参数如下:

key

Description

name

The name of the SolrCore. You'll use this name to reference the SolrCore when running commands with the CoreAdminHandler.

config

The configuration file name for a given core. The default is solrconfig.xml.

schema

The schema file name for a given core. The default is schema.xml

dataDir

Core's data directory as a path relative to the instanceDir, data by default.

configSet

If set, the name of the configset to use to configure the core (see Config Sets).

properties

The name of the properties file for this core. The value can be an absolute pathname or a path relative to the value of instanceDir.

transient

If true, the core can be unloaded if Solr reaches the transientCacheSize. The default if not specified is false. Cores are unloaded in order of least recently used first.

loadOnStartup

If true, the default if it is not specified, the core will loaded when Solr starts.

coreNodeName

Added in Solr 4.2, this attributes allows naming a core. The name can then be used later if you need to replace a machine with a new one. By assigning the new machine the same coreNodeName as the old core, it will take over for the old SolrCore.

ulogDir

The absolute or relative directory for the update log for this core (SolrCloud)

shard

The shard to assign this core to (SolrCloud)

collection

The name of the collection this core is part of (SolrCloud)

roles

Future param for SolrCloud or a way for users to mark nodes for their own use.

使用Collections API:CREATE来创建collection时需要符合下面的条件。

shards*replicationFactor <= maxShardsPerNode*Node数

http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATE&name=myc&numShards=2&replicationFactor=3&maxShardsPerNode=2

http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATE&name=myc2&numShards=2&replicationFactor=2&maxShardsPerNode=2&createNodeSet=192.168.137.171:8080_solr-cloud,192.168.137.172:8080_solr-cloud

http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATE&name=myc3&router.name=implicit&shards=shard1,shard2&replicationFactor=3&maxShardsPerNode=3

指定配置文件

http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATE&name=myc2&numShards=2&replicationFactor=3&maxShardsPerNode=2&collection.configName=myconf2&property.config=solrconfig2.xml&property.schema=schema2.xml

2.删除collection

http://192.168.137.171:8080/solr-cloud/admin/collections?action=DELETE&name=myc2

3.RELOAD collection

如果schema中的属性有变动,只需要将正确的schema上传到服务器上之后重启solr即可

http://192.168.137.171:8080/solr-cloud/admin/collections?action=RELOAD&name=myc

4. SPLITSHARD(纵向扩容)

使用Collections API:SPLITSHARD来创建SHARD时不需要符合下面的条件。

shards*replicationFactor <= maxShardsPerNode*Node数

整体逻辑:无缝连接和无downtime

旧shard此时继续提供服务并把旧索引转到新的shard上

旧shard同时继续索引新文档

旧shard同时把新文档转发给新shard,新shard索引新文档

旧索引全部迁移到新shard之后,旧shard关闭,新文档直接转发到新的shard上了

手动利用DELETESHARD API删除旧shard

implicit路由:只要创建Shard即可: 新建索引时,将索引建到新建Shard上,查询操作时,指定collection名称,得到的仍是整个集群返回的结果。

compositeId路由:通过分裂(SPLITSHARD)操作实现。

http://192.168.137.171:8080/solr-cloud/admin/collections?action=SPLITSHARD&collection=myc&shard=shard1

5.CREATESHARD

路由规则为implicit 时才可以使用。

使用Collections API:CREATESHARD来创建shard时需要符合下面的条件。

shards*replicationFactor <= maxShardsPerNode*Node数

http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATESHARD&collection=myc3&shard=shard3

6. DELETESHARD

删除inactive shard

http://192.168.137.171:8080/solr-cloud/admin/collections?action=DELETESHARD&collection=myc2&shard=shard1

7.CREATEALIAS

实现跨collection查询,新建和修改都是使用CREATEALIAS。

http://192.168.137.171:8080/solr-cloud/admin/collections?action=CREATEALIAS&name=newc&collections=myc,myc2

8.DELETEALIAS

http://192.168.137.171:8080/solr-cloud/admin/collections?action=DELETEALIAS&name=newc

9.DELETEREPLICA

http://192.168.137.171:8080/solr-cloud/admin/collections?action=DELETEREPLICA&collection=myc2&shard=shard2&replica=192.168.137.171:8080_solr-cloud_myc2_shard2_replica2
 
10.ADDREPLICA
http://192.168.137.171:8080/solr-cloud/admin/collections?action=ADDREPLICA&collection=myc2&shard=shard2&node=192.168.137.171:8080_solr-cloud

使用Collections API:ADDREPLICA来创建replica时不需要符合下面的条件。

shards*replicationFactor <= maxShardsPerNode*Node数

13.1SolrCloud集群使用手册之Collections API的更多相关文章

  1. 13.2SolrCloud集群使用手册之CoreAdmin API

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ CoreAdminHandler是用来管理Solr cores的,用来管理一个Solr instance中所有 ...

  2. 13.4SolrCloud集群使用手册之CRUD

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ Student.java package cn.ljh.ssm.test; import org.apache ...

  3. 13.3SolrCloud集群使用手册之Zookeeper指令

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.upconfig java -classpath .:/home/solr/cloud/lib/* org ...

  4. Ubuntu_10.04下Hadoop-0.20.2集群配置手册

    Ubuntu_10.04下Hadoop-0.20.2集群配置手册 一.软硬件环境的准备 下面的文章来自hadoopor.com,我先交待一下我自己的环境: 两台机器,每台机器上面两个虚机(vmware ...

  5. Nginx+Tomcat+MemCached 集群配置手册

    系统实施文档 Nginx+Tomcat+MemCached 集群配置手册 目    录 第1章   概述 1.1   目标 互联网的快速发展带来了互联网系统的高负载和高可用性, 这要求我们在设计系统架 ...

  6. 实现CI/CDk8s高可用集群搭建总结以及部署API到k8s

    实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署 ...

  7. OEMCC 13.2 集群版本安装部署

    之前测试部署过OEMCC 13.2单机,具体可参考之前随笔: OEMCC 13.2 安装部署 当时环境:两台主机,系统RHEL 6.5,分别部署OMS和OMR: OMS,也就是OEMCC的服务端 IP ...

  8. Greenplum(4.3.73)集群安装手册

    1. 概述 本文档仅限于指导Greenplum 4.3.7.3(对应安装包greenplum-db-4.3.7.3-build-2-RHEL5-x86_64.bin)版本在CentOS6.5 系统进行 ...

  9. kubeadm安装kubernetes 1.13.1集群完整部署记录

    k8s是什么 Kubernetes简称为k8s,它是 Google 开源的容器集群管理系统.在 Docker 技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提 ...

随机推荐

  1. .3-浅析express源码之applicaiton模块(2)-app.render

    这个模块还漏了一个稍微复杂点的API,就是app.render,首先看官网的定义: app.render(view, [locals], callback) view为对应的文件名,locals为一个 ...

  2. Spring学习之路-注解

    Spring的注解总结. 地址:https://docs.spring.io/spring/docs/4.3.12.RELEASE/spring-framework-reference/htmlsin ...

  3. C#调用百度地图API经验分享(四)

    这一篇,记录一下我调用的地图API实现的功能.下面介绍的都是一些片段的节选,不能直接复制就运行.在实现之前肯定要加载地图,先放一个webbroser控件,然后如下: private void Form ...

  4. js 日文全半角转换

    客户的需求是,输入半角字符或日语假名,筛选出来的结果显示包含该字符的半角形式和全角形式的所有结果,输入全角也是同样的结果.这里就需要将输入的字符全部转为半角和全角,再去匹配结果. 在网上搜了一圈之后, ...

  5. 在Oracle中实现每日表备份并删除7天前的备份表

    不用闪回技术,因为业务想眼睁睁的看到备份表,而不是让DBA搞一通之后,才能看到备份数据表 OK,那好办了,写个存储过程解决你的需求,每天建个新表,把数据备份进去,业务人员可以看到这些每天的备份表 然后 ...

  6. Linux常用基本命令(head)

    head命令 作用:显示文件的头部内容,默认显示前面10行 格式: head [option] [file] -n <行数> -c <字节> ghostwu@dev:~/lin ...

  7. php中的static静态变量

    今天碰到了一个php的小试题,一直没有明白为什么第三次循环是static静态变量没有起作用呢?想了好久才明白原理. <?php class MyClass{ function add($b){ ...

  8. python学习之老男孩python全栈第九期_day014作业

    0. 默写a. 生成器函数获取移动平均值例子: def init(func): def inner(*args,**kwargs): ret = func(*args,**kwargs) ret.__ ...

  9. vue实现倒计时的插件 时间戳 刷新 跳转 都不影响

    工作当中需要开发一个倒计时插件,于是开始网上先拿来主义,发现好多倒计时的插件,刷新都会变成从头再来,于是自己用vue2.0写了一个插件,测试已经通过,直接上代码 如下是组件代码: <templa ...

  10. HTML初学小技巧

    01.让背景图不滚动IE浏览器支持一个 Body 属性 bgproperties,它可以让背景不滚动:〈Body Background="图片文件" bgproperties=&q ...