在我的一些文档中,我有一个密钥存在school
。说文件是:
{
"id" : "123",
"name" : "Robert",
"school" : "Public"
}
现在,school
并非出现在所有文件中。我想在所有未使用默认字符串的文档中插入school
键。
我使用的是Elasticsearch版本号2.4.5
。我该怎么做?我正在查看批量更新吗?
答案 0 :(得分:0)
我会清楚地使用update by query API。您可以搜索所有不具有school
字段的文档,并将其设置为您希望的默认值:
POST your-index/your-type/_update_by_query
{
"query": {
"bool": {
"must_not": {
"exists": {
"field": "school"
}
}
}
},
"script": {
"inline": "ctx._source.school = 'dummy'"
}
}
请注意,您需要enable dynamic scripting并重新启动ES服务器。