elasticsearch,kibana,Python,elasticsearch,Kibana" /> elasticsearch,kibana,Python,elasticsearch,Kibana" />

Python 如何向elasticsearch现有映射添加新字段并设置值?

Python 如何向elasticsearch现有映射添加新字段并设置值?,python,elasticsearch,kibana,Python,elasticsearch,Kibana,如何将新字段添加到现有弹性搜索映射。我想将该字段设置为默认值。如何执行此操作?我找到了使用kibana查询的解决方案,您可以使用它。有两个步骤。第一个添加了新字段。第二个是更新字段值。也可以使用索引前缀 # First step >> add new field to mapping PUT <index_name or prefix>/_mapping/<Document-type> { "properties": {

如何将新字段添加到现有弹性搜索映射。我想将该字段设置为默认值。如何执行此操作?

我找到了使用kibana查询的解决方案,您可以使用它。有两个步骤。第一个添加了新字段。第二个是更新字段值。也可以使用索引前缀

    # First step >> add new field to mapping
    PUT <index_name or prefix>/_mapping/<Document-type>
    {
    "properties": {
    "source": {
    "type": "<field type>"
             }
        }
    }

    # Second step is add default values to field
    POST /<index name or prefix>/_update_by_query
    {
     "script": {
         "source": "ctx._source.source = 'Hi... .'",
           "lang": "painless"
         },
     "query": {
        "match_all": {}
        }
     }
#第一步>>向映射添加新字段
PUT/_映射/
{
“财产”:{
“来源”:{
“类型”:”
}
}
}
#第二步是向字段添加默认值
POST/\u按查询更新\u
{
“脚本”:{
“source”:“ctx.\u source.source='Hi….'”,
“郎”:“无痛”
},
“查询”:{
“全部匹配”:{}
}
}

可以,但您有多少文档?通过查询matchall更新数百万个文档可能很危险。mmm。我有大约100000或200000份文件。但它正在工作,所以我们可以使用搜索查询过滤文档数。无论如何,需要考虑数百万文档会发生什么情况。:)谢谢如果你更新所有文档,最好重新编制索引(更新几乎会删除-添加),重新编制索引会更好。是的,我起诉它更新所有文档根据Es()重新编制所有文档是最佳做法。发布{“源”:{“索引”:“推特”},“目的地”:{“索引”:“新推特”,“版本类型”:“外部”},“脚本”:{“源”:“ctx.\u source.source='Hi….'”,“lang”:“无痛”}