ElasticSearch5.x 刪除資料
以下測試在elasticsearch5.6.10版本。
首先要說明的是ElasticSearch從2.x開始就已經不支援刪除一個type了,所以使用delete命令想要嘗試刪除一個type的時候會出現如下錯誤:
No handler found for uri [/dating_profile/zhenai/] and method [DELETE]
測試
假如存在一個名為dating_profile的index和zhenai的type:
curl -XDELETE http://192.168.1.102:9200/dating_profile/zhenai
執行後報錯如下:
所以現在如果想要刪除type有兩種選擇:
***1、***重新設定index。
***2、***刪除type下的所有資料。
如果重新設定index,官方建議:
Delete Mapping
It is no longer possible to delete the mapping for a type. Instead you should delete the index and recreate it with the new mappings.
刪除index
如下,刪除名為dating_profile的index:
curl -XDELETE http://192.168.1.102:9200/dating_profile/
刪除成功,返回值為:
{
"acknowledged": true
}
刪除type下的所有資料
想要一次性刪除type為zhenai所有資料內容的話,可以參考官方文件:
其中有講到,可以透過_delete_by_query限制到一個單獨的type,如下,它僅僅會刪除index為dating_profile下type為zhenai下的所有資料:
curl -X POST "http://192.168.1.102:9200/dating_profile/zhenai/_delete_by_query?conflicts=proceed" -H 'Content-Type: application/json' -d'
{
"query": {
"match_all": {}
}
}'
刪除成功,返回值如下:
{
"took": 78,
"timed_out": false,
"total": 107,
"deleted": 107,
"batches": 1,
"version_conflicts": 0,
"noops": 0,
"retries": {
"bulk": 0,
"search": 0
},
"throttled_millis": 0,
"requests_per_second": -1.0,
"throttled_until_millis": 0,
"failures": []
}
也可以一次性刪除多個index和多個type下的文件,如下:刪除index為dating_profile下的type為zhenai的資料;同時刪除index為movies下的type為movie的資料。
curl -X POST "http://192.168.1.102:9200/dating_profile,movies/zhenai,movie/_delete_by_query" -H 'Content-Type: application/json' -d'
{
"query": {
"match_all": {}
}
}
'
返回值如下:
{
"took": 93,
"timed_out": false,
"total": 61,
"deleted": 61,
"batches": 1,
"version_conflicts": 0,
"noops": 0,
"retries": {
"bulk": 0,
"search": 0
},
"throttled_millis": 0,
"requests_per_second": -1.0,
"throttled_until_millis": 0,
"failures": []
}
題外話
5.xES提供的Reindex可以直接在搜尋叢集中對資料進行重建。如下可以直接修改mapping。
如下將index為dating_profile改為new_dating_profile
curl -XPOST "http://192.168.1.102:9200/_reindex?pretty" -H 'Content-Type: application/json' -d'
{
"source": {
"index": "dating_profile"
},
"dest": {
"index": "new_dating_profile"
}
}
'
這樣執行後,舊的index還是存在的,dating_profile和new_dating_profile都可以查到舊資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1020/viewspace-2823960/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 刪除資料
- whk我【資料刪除】你個【資料刪除】的
- indexedDB 刪除資料Index
- Solr刪除資料Solr
- 刪除elasticsearch資料Elasticsearch
- MongoDB 資料庫建立刪除、表(集合)建立刪除、資料增刪改查MongoDB資料庫
- Elasticsearch5.x批次插入資料(Java)ElasticsearchH5Java
- 資料夾刪除不掉怎麼辦?資料夾無法刪除
- MySQL刪除資料表MySql
- indexedDB 刪除資料庫Index資料庫
- 刪除重複資料
- MongoDB之資料刪除MongoDB
- 刪除大表資料
- git刪除資料夾Git
- 批次刪除資料方法
- 刪除重復資料
- 【RAC】刪除RAC資料庫節點(一)——刪除資料庫例項資料庫
- 造資料難,刪除資料容易
- 【RAC】刪除RAC資料庫節點(二)——刪除ASM資料庫ASM
- 【RAC】刪除RAC資料庫節點(五)——刪除ONS資料庫
- 2.11 刪除資料庫資料庫
- mongodb刪除重複資料MongoDB
- oracle刪除重資料方法Oracle
- CoLab刪除資料夾
- Oracle 刪除資料檔案Oracle
- 如何刪除oracle資料庫Oracle資料庫
- oracle刪除資料檔案Oracle
- 刪除資料庫指令碼資料庫指令碼
- MySQL刪除重複資料MySql
- 手工刪除oracle資料庫Oracle資料庫
- 海量資料表刪除方案
- 刪除空資料檔案
- 大量刪除資料的速度
- 手動刪除資料庫資料庫
- Rails中刪除資料物件AI物件
- Laravel 資料庫裡的資料刪除Laravel資料庫
- 批量刪除Oracle資料庫的資料Oracle資料庫
- oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄)Oracle