0
我有我的應用程序創建所有必要的索引和映射安裝腳本。我使用Elasticsearch 1.5.2</p> <p>elasticsearch禁用索引創建和刪除操作
創建這些索引後,我不想創建新索引或刪除現有索引。 (無論是手動或通過我的應用程序的一些意外執行)
是否可以在elasticsearch中設置任何配置並重新啓動服務以實現上述目標?
感謝
我有我的應用程序創建所有必要的索引和映射安裝腳本。我使用Elasticsearch 1.5.2</p> <p>elasticsearch禁用索引創建和刪除操作
創建這些索引後,我不想創建新索引或刪除現有索引。 (無論是手動或通過我的應用程序的一些意外執行)
是否可以在elasticsearch中設置任何配置並重新啓動服務以實現上述目標?
感謝
根據官方Index API文件,您可以通過添加以下設置到elasticsearch.yml
文件中所有的節點上禁用自動創建索引:
action.auto_create_index: false
您也可以防止自動創建映射(即添加不在您的初始映射中的新字段時,將此添加到您的配置中:
index.mapper.dynamic: false
至於通過通配符/*
或/_all
防止指數的缺失,有一兩件事你可以做的是以下設置添加到您的配置文件,太(也可以通過動態/_cluster/settings
完成):
action.destructive_requires_name: true
除了除此之外,恐怕除了確保你的代碼不包含任何DELETE語句之外,你可以做的不多,以防止刪除一個已命名的索引。我不太瞭解你的環境,但一種方法是將你的ES代理到Apache或Nginx之後,並將其配置爲拒絕所有的DELETE HTTP請求,但這也會阻止你刪除文檔。