https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html
Consider:
PUT my_index
{
"mappings": {
"_doc": {
"properties": {
"user": {
"type": "nested"
}
}
}
}
}
PUT my_index/_doc/1
{
"group" : "fans",
"user" : [
{
"first" : "John",
"last" : "Smith"
},
{
"first" : "Alice",
"last" : "White"
}
]
}
When I run a painless script like:
ctx._source.user.add({
"first" : "Foo",
"last" : "Bar"
})
It is not working. I tried but cannot find any related documents or discussion started by other.
https://www.elastic.co/guide/en/elasticsearch/reference/5.4/modules-scripting-painless-syntax.html#painless-maps
You can create a map like ['first': 'Foo', 'last': 'Bar', 'sthElse': 100]
then add it.
So:
ctx._source.user.add([
"first" : "Foo",
"last" : "Bar"
])
Please note that map in painless can be mixed type.
POST my_index/_doc/1/_update
{
"script": {
"lang": "painless",
"inline": "ctx._source.user.add(params.object)",
"params": {
"object": {
"first" : "Foo",
"last" : "Bar"
}
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With