一、刪除單個文檔
刪除單個文檔是ES中最基本的操作,只需向ES服務器發送請求,指定要刪除的文檔ID和索引名即可刪除。
1.1 代碼示例
DELETE /my_index/_doc/1
1.2 參數說明
- DELETE:HTTP協議中的DELETE請求方法,用於刪除資源。
- /my_index/_doc/1:要刪除的文檔URI,其中my_index是索引名,_doc是類型名,1是文檔ID。
1.3 返回值說明
如果刪除成功,ES服務器會返回一個JSON格式的響應體,其格式如下:
{ "_index" : "my_index", "_type" : "_doc", "_id" : "1", "_version" : 1, "result" : "deleted", "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 }, "_seq_no" : 0, "_primary_term" : 1 }
其中:
- _index和_type:索引名和類型名,與請求URI中的相對應。
- _id:要刪除的文檔ID,與請求URI中的相對應。
- _version:文檔的版本號。
- result:刪除操作的結果。
- _shards:指示刪除操作在分片集群中的執行情況。
二、刪除多個文檔
刪除多個文檔同樣基於文檔ID,只不過在刪除請求中指定多個ID。
2.1 代碼示例
POST /my_index/_delete_by_query { "query": { "terms" : { "_id" : ["1", "2"] } } }
2.2 參數說明
- POST:HTTP協議中的POST請求方法,用於提交數據。
- /my_index/_delete_by_query:執行刪除操作的URI,其中my_index是索引名。
- “query”:刪除操作所依據的查詢條件。
- “terms”:查詢條件的類型,表示文檔ID的一組值。
- “_id”:需要被刪除的文檔ID,多個值用數組表示。
2.3 返回值說明
如果刪除成功,ES服務器會返回一個JSON格式的響應體,其中包含有關刪除成功的信息。
三、刪除整個索引
刪除整個索引需要擁有刪除索引的權限,即需要使用高級權限,包括所有權限和manage_index權限。
3.1 代碼示例
DELETE /my_index
3.2 參數說明
- DELETE:HTTP協議中的DELETE請求方法,用於刪除資源。
- /my_index:要刪除的索引名。
3.3 返回值說明
如果刪除成功,ES服務器會返回一個JSON格式的響應體,其中包含有關刪除成功的信息。
四、刪除全部數據
刪除全部數據需要以批量方式執行刪除操作。這種方式適用於需要清空索引中所有文檔的情況,比如重新建立索引。
4.1 代碼示例
POST /my_index/_delete_by_query?conflicts=proceed { "query": { "match_all": {} } }
4.2 參數說明
- POST:HTTP協議中的POST請求方法,用於提交數據。
- /my_index/_delete_by_query:執行刪除操作的URI,其中my_index是索引名。
- “conflicts=proceed”:可選參數,指定在刪除操作中發生衝突時的處理方式。
- “query”:刪除操作所依據的查詢條件。
- “match_all”:查詢條件的類型,表示匹配所有文檔。
4.3 返回值說明
如果刪除成功,ES服務器會返回一個JSON格式的響應體,其中包含有關刪除成功的信息。
原創文章,作者:FWRPJ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/333894.html