我有一个 Elasticsearch-DB 并想将元素(字符串)添加到数组中。在这里讨论https://discuss.elastic.co/t/append-to-existing-field/16423/2我建立了一个玩具模型。我初始化:
curl -XPOST "http://localhost:9200/t/t/1/" -d'
{
"hobbies" : ["a", "b"]
}'
并使用更新数组
curl -XPOST "http://localhost:9200/t/t/1/_update" -d'
{
"script" : "ctx._source.hobbies.add(params.hobby)",
"params" : {
"hobby" : "c"
}
}'
不幸的是,更新的结果总是“null”而不是“c”:
curl -XGET 'http://localhost:9200/_search?q=_id:"1"&pretty'
{
"took" : 29,
"timed_out" : false,
"_shards" : {
"total" : 20,
"successful" : 20,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 1.0,
"hits" : [
{
"_index" : "t",
"_type" : "t",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"hobbies" : [
"a",
"b",
null,
null,
null
]
}
}
]
}
}
我究竟做错了什么?