ADDREPLICAPROP:添加副本属性
将任意属性分配给特定副本,并为其指定值。如果该属性已经存在,则会被新值覆盖。
/admin/collections?action=ADDREPLICAPROP&collection=collectionName&shard=shardName&replica=replicaName&property=propertyName&property.value=value
ADDREPLICAPROP参数
- collection
副本所属的集合的名称。该参数是必需的。
- shard
副本所属分片的名称。该参数是必需的。
- replica
副本,例如
core_node1
。该参数是必需的。 - property
要添加的属性的名称。此属性是必需的。
这将具有
property.
将其与系统维护属性区分开来的字面意思。所以这两种形式是等价的:property=special
和 property=property.special - property.value
要分配给该属性的值。该参数是必需的。
- shardUnique
如果为
true
,那么在一个副本中设置此属性将从该分片中的所有其他副本中删除该属性。默认是false
。有一个预先定义的属性
preferredLeader
,其中shardUnique
被要求为true
如果shardUnique
明确设置为false
,则返回一个错误。PreferredLeader
是一个布尔属性。任何赋值不相等(不区分大小写)的值true
将被解释为preferredLeader
的false
。
ADDREPLICAPROP响应
响应将包括请求的状态。如果状态不是“0”,则会显示一条错误消息,说明请求失败的原因。
使用ADDREPLICAPROP的示例
ADDREPLICAPROP示例输入
这个命令会在“core_node1”上设置“preferredLeader”属性(property.preferredLeader)为“true”,并从该分片中的任何其他副本中删除该属性。
http://localhost:8983/solr/admin/collections?action=ADDREPLICAPROP&shard=shard1&collection=collection1&replica=core_node1&property=preferredLeader&property.value=true
ADDREPLICAPROP示例输出
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">46</int>
</lst>
</response>
ADDREPLICAPROP示例输入
这对命令将把 "testprop" 属性 (property.testprop)分别设置为 "value1" 和 "value2",用于同一碎片中的两个节点。
http://localhost:8983/solr/admin/collections?action=ADDREPLICAPROP&shard=shard1&collection=collection1&replica=core_node1&property=testprop&property.value=value1
http://localhost:8983/solr/admin/collections?action=ADDREPLICAPROP&shard=shard1&collection=collection1&replica=core_node3&property=property.testprop&property.value=value2
ADDREPLICAPROP示例输入
这一对命令将导致“core_node_3”具有“testprop”属性(property.testprop)值的设置,因为第二个命令指定shardUnique=true,这将导致属性从“core_node_1”中删除。
http://localhost:8983/solr/admin/collections?action=ADDREPLICAPROP&shard=shard1&collection=collection1&replica=core_node1&property=testprop&property.value=value1
http://localhost:8983/solr/admin/collections?action=ADDREPLICAPROP&shard=shard1&collection=collection1&replica=core_node3&property=testprop&property.value=value2&shardUnique=true