我想,以消除對ElasticSearch 2.3別名my_alias
:如何在刪除ElasticSearch別名時忽略404錯誤?
curl -XPOST 'http://localhost:9200/_aliases' -d '
{
"actions" : [
{ "remove" : { "index" : "*", "alias" : "my_alias" } }
]
}'
然而,這個別名就不能存在。在這種情況下,我得到的錯誤:
{
"error": {
"reason": "aliases [my_alias] missing",
"resource.id": "my_alias",
"resource.type": "aliases",
"root_cause": [
{
"reason": "aliases [my_alias] missing",
"resource.id": "my_alias",
"resource.type": "aliases",
"type": "aliases_not_found_exception"
}
],
"type": "aliases_not_found_exception"
},
"status": 404
}
我嘗試添加ignore_unavailable
的行動{ "remove" : { "index" : "*", "alias" : "my_alias", "ignore_unavailable": true } }
,或者乾脆ignore: 404
,但無濟於事。我查看了ElasticSearch的update_aliases
的測試套件https://github.com/elastic/elasticsearch/tree/7560101ec73331acb39a042bde6130e59e4bb630/rest-api-spec/src/main/resources/rest-api-spec/test/indices.update_aliases,但找不到這樣做的測試。
我開始認爲沒有辦法做到這一點。我錯了嗎?
可以通過執行curl -XGET'http:// localhost:9200/_aliases' –
@vinod_vh來共享別名列表根本沒有別名。問題的關鍵是如何忽略我們試圖刪除不存在的別名。 –
如果別名不存在,那麼爲什麼你試圖刪除索引的別名..? –