elasticsearch - ElasticSearch更新API-添加以@符号开头的字段名

标签 elasticsearch

如果ES更新API的名称以@开头,则无法设置新字段:

{ 
  "script" : "ctx._source.@timestamp = 20120101000000"
}

有人偶然发现这个吗?是否有等效的ctx._source.remove()用于添加我可以尝试解决的字段名?

最佳答案

您可以使用["fieldname"]表示法进行操作:

{
    "script" : "ctx._source[\"@timestamp\"] = 20120101000000"
}'

put方法:
{ 
    "script" : "ctx._source.put(\"@timestamp\", 20120101000001)"
} 

关于elasticsearch - ElasticSearch更新API-添加以@符号开头的字段名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22946722/

相关文章:

elasticsearch - Elasticsearch清空对象

python elasticsearch批量索引数据类型

java - 如何使用RestHighLevelClient获取集群状态或索引元数据?

elasticsearch - 对top_hits聚合的总和

java - 添加elasticsearch支持后,Spring Boot提示 BeanCreationException 与嵌套的 IllegalStateException 未找到关联

c# - 如何在 Elastic Search 中进行双重嵌套聚合?

ElasticSearch - 创建 JDBC 河

elasticsearch - 通过文本字段聚合和排序,并在Elasticsearch中连接其他文本字段

java - Spring Data Elasticsearch中的自定义GeoPoint对象

elasticsearch - 如何连接到使用Spring Data Elasticsearch创建的本地ES集群?