Ken*_*Too 12 amazon-web-services elasticsearch
我已经创建了一个新的AWS ElasticSearch域,用于测试.我现在在不同的主机上使用ES,我正在寻求转向AWS.
我需要做的一件事是在我的实例上设置映射(分析器).为了做到这一点,我需要"关闭"索引,否则ES只会引发异常.
但是,每当我尝试关闭索引时,我都会从AWS获得异常:
Your request: '/_all/_close' is not allowed by CloudSearch.
Run Code Online (Sandbox Code Playgroud)
在AWS ES文件明确表示,要做到这一点在某些情况下:
curl -XPOST 'http://search-weblogs-abcdefghijklmnojiu.us-east-1.a9.com/_all/_close'
Run Code Online (Sandbox Code Playgroud)
我还没有找到,说为什么我不能将能够关闭在AWS ES我的指数的任何文件,也没有我发现其他人谁都有这个问题.
我有一个ElasticSearch域也有点奇怪,但是它给了我一个CloudSearch错误消息,因为我认为这些是不同的服务,但我想一个是用另一个实现的.
谢谢!
AWS Elasticsearch不支持对索引的“关闭”操作。
http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html
“当前,Amazon ES不支持Elasticsearch _close API”
Val*_*Val -2
由于立即关闭所有索引是一项危险的操作,因此默认情况下您的集群上可能会禁用它。您需要确保您的elasticsearch.yml配置文件不包含以下内容:
action.destructive_requires_name: true
Run Code Online (Sandbox Code Playgroud)
您可以在配置文件中进行设置并重新启动集群,但我强烈建议您不要这样做,因为这会为各种其他破坏性操作打开大门,例如立即删除所有索引。
action.destructive_requires_name: false
Run Code Online (Sandbox Code Playgroud)
您应该做的是使用以下命令临时更新集群设置
curl -XPUT localhost:9200/_cluster/settings -d '{
"persistent" : {
"action.destructive_requires_name" : false
}
}'
Run Code Online (Sandbox Code Playgroud)
然后关闭所有索引
curl -XPOST localhost:9200/_all/_close
Run Code Online (Sandbox Code Playgroud)
然后将设置重置为更安全的值:
curl -XPUT localhost:9200/_cluster/settings -d '{
"persistent" : {
"action.destructive_requires_name" : true
}
}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4387 次 |
| 最近记录: |