elasticsearch禁用索引创建和删除操作

use*_*423 0 lucene elasticsearch

我使用的是Elasticsearch 1.5.2

我有一个安装脚本,为我的应用程序创建所有必要的索引和映射.

在创建这些索引之后,我不想创建新索引或删除现有索引.(手动或通过我的应用程序的一些无意执行)

是否可以在elasticsearch中设置任何配置并重新启动服务以实现上述目的?

谢谢

Val*_*Val 5

根据官方索引API文档,您可以通过将以下设置添加到elasticsearch.yml所有节点上的文件来禁用自动索引创建:

action.auto_create_index: false
Run Code Online (Sandbox Code Playgroud)

您还可以阻止自动映射创建(即,在添加不在初始映射中的新字段时,通过将其添加到您的配置中:

index.mapper.dynamic: false
Run Code Online (Sandbox Code Playgroud)

至于通过通配符防止索引删除,/*或者/_all你可以做的一件事是将以下设置添加到你的配置文件中(它也可以通过动态完成/_cluster/settings):

action.destructive_requires_name: true
Run Code Online (Sandbox Code Playgroud)

除此之外,我担心除了确保您的代码不包含任何DELETE语句之外,您无法阻止删除命名索引.我对您的环境知之甚少,但有一种方法可能是在Apache或Nginx后面代理您的ES并将其配置为拒绝所有DELETE HTTP请求,但这也会阻止您删除文档.