我设置了一个分片过滤器,如:
PUT _cluster/settings
{
"transient" : {
"cluster.routing.allocation.exclude._name" : "node-1"
}
}
如何删除或禁用此类设置?我尝试使用include,但后来我同时设置了过滤器 - 包含和排除。我可以设置类似"cluster.routing.allocation.exclude._name" : ""
的内容。
但是也可以设置类似:include all
节点的东西吗?
答案 0 :(得分:5)
对于在Elasticsearch 5.x上运行的群集,您可以传递null
值以重置设置。正如issue中所述,cluster level settings记录了这一点,但索引级别设置没有记录。
所以你可以这样做:
PUT _cluster/settings
{
"transient" : {
"cluster.routing.allocation.exclude._name" : null
}
}
还有:
PUT test-index/_settings
{
"index": {
"routing": {
"allocation": {
"include": {
"box_type": null
},
"exclude": {
"box_type": null
},
"require": {
"box_type": null
},
"total_shards_per_node": "2"
}
}
}
}
答案 1 :(得分:3)
你试过吗
PUT _cluster/settings
{
"transient" : {
"cluster.routing.allocation.exclude._name" : ""
}
}
听起来很愚蠢,但我认为这就是你在弹性搜索中取消东西的方式......
答案 2 :(得分:0)
要重置包含过滤器并包含所有节点,您必须同时使用这两个设置:
PUT _cluster/settings
{
"transient" : {
"cluster.routing.allocation.include._name" : ""
}
}
和
PUT _cluster/settings
{
"transient" : {
"cluster.routing.allocation.exclude._name" : ""
}
}