我有一个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
]
}
}
]
}
}
我做错了什么?
答案 0 :(得分:1)
您的user.rb
结构不正确,应该是这样的:
script