Elasticsearch 刪除數據


刪除數據分為兩種:一種是刪除索引(數據和表結構同時刪除,作用同SQLSERVER 中 DROP TABLE "表格名" ),

           另一種是刪除數據(不刪除表結構,作用同SQLSERVER中Delete 語句)。

 

一:刪除索引(結構和數據同時刪除):

刪除單個索引可以使用命令 【DELETE /索引名稱】

Delete 索引名稱

 

刪除多個索引可以使用命令 【DELETE /索引1,索引2】

Delete 索引名稱1,索引名稱2

【DELETE /testindex*】:刪除以testindex 開頭的所有索引文件(如果配置文件中禁止后此方式不能使用);

Delete 索引名稱*

 

刪除全部索引命令 【DELETE /_all】(配置文件中禁止后此方式不能使用) 或者 【DELETE /*】(配置文件中禁止后此方式不能使用)

Delete _all

 

注意事項:對數據安全來說,能夠使用單個命令來刪除所有的數據可能會帶來很可怕的后果,所以,為了避免大量刪除,

       可以在elasticsearch.yml 配置文件中修改 action.destructive_requires_name: true

  設置之后只限於使用特定名稱來刪除索引,使用_all 或者通配符來刪除索引無效(上述中說明配置文件中禁止后此方式不能使用)】

 

二:刪除數據(只刪除數據):

1.:根據主鍵刪除數據:【DELETE  /索引名稱/類型名稱/主鍵編號】

Delete 索引名稱/文檔名稱/主鍵編號

 

2:根據匹配條件刪除數據:(注意請求方式是Post) 

復制代碼
POST 索引名稱/文檔名稱/_delete_by_query   
{
  "query":{
    "term":{
      "_id":100000100
    }
  }
}
復制代碼

如果你想根據條件來刪除你的數據,則在Query查詢體中組織你的條件就可以了。

3:刪除所有數據:(注意請求方式是Post,只刪除數據,不刪除表結構)

復制代碼
POST /testindex/testtype/_delete_by_query?pretty
{
    "query": {
        "match_all": {
        }
    }
}
復制代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM