![](/img/trans.png)
[英]Elastic Search Bulk Update using python, how to append a array field with new data
[英]elastic search does not obey mapping when update adds a new field
使用python update API,我向我的ES索引文档中添加了一个字符串字段。 甚至我的映射都有:
"mappings" : {
"_default_": {
"dynamic_templates": [
{ "notanalyzed": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "string",
"index": "not_analyzed"
}
}
}
]
},
新添加的字段仍在分析中。 有人注意到同样的问题吗?
这是一段添加新列的python代码:
res = es.search(index=ind, body=st, size=2000) for rec in res['hits']['hits']: es.update(index=rec['_index'],doc_type=rec['_type'],id=rec['_id'], body={"doc": {"srcSite": sS}})
因此,仍会以某种方式“分析”新添加的“ srcSite”。 我试图将新字段显式添加到模板中,但这也没有帮助。
啊,我发现了问题所在。 看来模板在创建文档时会以某种方式固定,以后再更改模板也不会改变-即使更新文档,它也不会使用更改后的模板,而是使用原始模板。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.