【发布时间】:2019-02-05 21:16:09
【问题描述】:
我有一个银行账户数据集,其中包含字段帐号、状态、名字、姓氏。iam 编写以下命令将客户的所有名字记录从州 CA 更新为安东尼。
curl -XPOST 'localhost:9200/bank/_update_by_query?pretty' -d '{
"query" : {
"term" : {"state":"CA"}
},
"script" : {
"inline" : "ctx._source.firstname = a",
"params" : {
"a" : "antony"
},
"lang" : "groovy"
}
}'
结果:
{ “接受”:3, “超时”:假, “总计”:0, “更新”:0, “批次”:0, “版本冲突”:0, “noops”:0, “重试”:0, “失败”:[] }
没有任何记录得到更新。
提前致谢。
【问题讨论】:
-
你运行的是哪个版本的 ES?你确定你有enabled dynamic scripting?
-
版本 2.3.4。是的,我启用了动态脚本
-
是
state字段analyzed还是not_analyzed?即,如果您单独运行查询,您会得到多少个文档? -
我在索引时没有提及任何内容,并且有 8 个具有状态 CA 的文档
标签: elasticsearch