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

时间:2015-05-21 23:08:57

标签: elasticsearch lucene

我正在使用Elasticsearch 1.5.2

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

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

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

由于

1 个答案:

答案 0 :(得分:5)

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

action.auto_create_index: false

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

index.mapper.dynamic: false

至于通过通配符/*/_all阻止索引删除,您可以做的一件事就是将以下设置添加到您的配置文件中(它也可以通过{{动态完成) 3}}):

action.destructive_requires_name: true

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