With Elasticsearch 2.2, when using a template query with an array of numbers as params, the only possible way to use it was:
GET _render/template
{
"inline": "{"query": { "match" : { "{{my_field}}" : "{{my_value}}" } },"size" : "{{my_size}}"}",
"params" : {
"my_field" : "foo",
"my_value" : [1,2],
"my_size" : 5
}
}
Here my_value would be rendered as it is which in this case would be [1,2].
When running the same template with Elasticsearch 2.3, my_value gets rendered as "{0=1, 1=2}" instead of an array. Is this a known issues and is there any other way to solve this?
Please note that using as follows would raise NumberFormatException for empty strings when its an array of numbers passed as a parameter and querying a number datatype:
GET /_search/template
{
"inline": {
"query": {
"terms": {
"status": [
"{{#status}}",
"{{.}}",
"{{/status}}"
]
}
}
},
"params": {
"status": [ 1,2]
}
}