Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 按别名删除索引_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Kibana - Fatal编程技术网 elasticsearch 按别名删除索引,elasticsearch,kibana,elasticsearch,Kibana" /> elasticsearch 按别名删除索引,elasticsearch,kibana,elasticsearch,Kibana" />

elasticsearch 按别名删除索引

elasticsearch 按别名删除索引,elasticsearch,kibana,elasticsearch,Kibana,使用Elasticsearch,我可以按索引名称删除索引: DELETE my_index {} 但我不能按别名删除它: DELETE my_index_alias {} 错误是: { "error": { "root_cause": [ { "type": "illegal_argument_exception", "reason": "The provided expression [my_index_alias] matches

使用Elasticsearch,我可以按索引名称删除索引:

DELETE my_index
{}
但我不能按别名删除它:

DELETE my_index_alias
{}
错误是:

{
  "error": {
    "root_cause": [
      {
        "type": "illegal_argument_exception",
        "reason": "The provided expression [my_index_alias] matches an alias, specify the corresponding concrete indices instead."
      }
    ],
    "type": "illegal_argument_exception",
    "reason": "The provided expression [my_index_alias] matches an alias, specify the corresponding concrete indices instead."
  },
  "status": 400
}

有没有办法通过别名删除索引?

我相信您试图实现的目标是不可能的。目前,ElasticSearch DELETE API支持以下功能:

  • 您可以删除索引

  • curl-XDELETE'http://localhost:9200/{indexname}'

    当且仅当{indexname}是具体索引时删除{indexname}。

    或2。改为删除别名


    curl-XDELETE'http://localhost:9200/_alias/{aliasname}'


    删除{aliasname}当且仅当{aliasname}是索引别名时。

    您提到的错误表示,您正在使用语法
    删除您在此处放置的任何内容
    实际上是删除索引的语法或查询,并建议用户如果希望删除
    索引
    ,那么就不能通过删除别名来完成

    当您为例如
    myalias
    创建别名,并将样本索引
    myindex
    与之关联时,在删除索引
    myindex
    时,您的别名
    myalias
    也会被删除

    但是,在创建别名并将两个索引关联到该别名时,需要删除要删除的别名的两个索引

    Elasticsearch
    中不存在空的
    别名
    ,您无法创建它

    请注意,您可以通过执行以下查询来检查别名列表

    GET /_alias
    
    现在,如果您只想删除
    索引的
    别名
    ,可以使用下面的
    删除
    查询将其删除

    DELETE myindex/_alias/myalias
    
    请注意,如果有两个索引引用同一个别名,则该别名将继续存在,直到对两个索引执行上述
    DELETE
    操作

    有没有办法用别名删除索引


    至于上面的查询,我认为这是不可能的,也没有意义。

    curl-XDELETE'http://localhost:9200/_alias/{aliasname}'
    不再适用于ES 6.X。上面写着:
    allowed:[PUT,HEAD,GET,POST]