是否可以刪除elasticsearch索引中特定類型的所有文檔? - 它是否也會影響類型映射? - 我想保留該類型的映射。Elasticsearch類型數據刪除
使用elasticsearch 2.2
是否可以刪除elasticsearch索引中特定類型的所有文檔? - 它是否也會影響類型映射? - 我想保留該類型的映射。Elasticsearch類型數據刪除
使用elasticsearch 2.2
找到與此相關here答案。以下內容直接來自該答案。
你可以使用刪除查詢插件43。這裏有一個例子:
我們創建了兩種類型的索引,並添加一些文件:
POST /_bulk
{"index":{"_index":"mammals","_type":"people"}}
{"tag_line":"I am Mike"}
{"index":{"_index":"mammals","_type":"people"}}
{"tag_line":"I am Hanna"}
{"index":{"_index":"mammals","_type":"people"}}
{"tag_line":"I am Bert"}
{"index":{"_index":"mammals","_type":"animals"}}
{"tag_line":"I am a dog"}
{"index":{"_index":"mammals","_type":"animals"}}
{"tag_line":"I am a cat"}
當我們查詢所有的文件,我們得到5個結果:
GET /mammals/_search?size=0
{
"query": {
"match_all": {}
}
}
現在我們可以刪除所有類型的文檔「動物」:
DELETE /mammals/animals/_query
{
"query": {
"match_all": {}
}
}
這隻會工作時delete-by-query
插件已安裝。
當我們再次搜索所有文檔時,我們只會得到3個結果,因爲動物已經走了。
P.S:這個插件是在2.x版本中,而不是在5.x中。所以在5.x中可以有其他方法來做到這一點。我相信這種刪除不會影響映射,因爲這隻會刪除單個文檔。
謝謝Rajind!那麼,如果沒有在elasticsearch-2.2中安裝delete-by-query插件,我無法刪除特定類型的所有文檔? – shan
@shan據我所知,沒有別的辦法。 –
https://www.elastic.co/guide/en/elasticsearch/reference/2.2/docs-delete.html –