[英]Bulk Delete an attribute from a document in ElasticSearch 6+
我需要從ElasticSearch中的所有文檔中刪除特定屬性。 有沒有辦法做到這一點,可以通過Bulk API完成。 我無法找到要批量刪除ElasticSearch的屬性的API。
有沒有辦法實現同樣的目標。
我文檔的示例部分:
{
"media": {
"list1": [
{"title":"a"}
],
"list2": [
{"title":"b"}
]
}
}
刪除相同的腳本:
{
"script": "ctx._source.remove('media.list1')",
"query": {
"bool": {
"must": [
{
"exists": {
"field": "media.list1"
}
}
]
}
}
}
如果您只想從文檔中刪除一個字段(而不是刪除整個文檔),則需要使用無痛腳本。 請參閱此問題帖子 ,以編寫用於從文檔中刪除字段的腳本。
要更新索引中的所有文檔,請使用無痛腳本刪除Update By Query API中的字段,使用match_all作為“查詢”來更新所有文檔。
您不希望為此使用批量API。 如果您想用新信息替換整個文檔(更新),將使用批量API。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.