I need to sort by the count of nested objects matching two or more criterias.
ncomments is declared as type=nested in the mapping.
The query below throws this exception:
"reason" : "failed to run inline script [doc['ncomments'].value] using lang [groovy]", "type" : "illegal_argument_exception", "reason" : "No field found for [ncomments] in mapping with types []"
If there is a solution without scripting (or at least without grovvy scripting) i would prefer that.
I am using Elasticsearch 2.2
What i tried so far:
{
"query":{
"match_all":{}
},
"sort":[
{
"_script":{
"script":{
"inline":"doc['ncomments'].values.length"
},
"type":"number",
"order":"asc",
"nested_path":"ncomments",
"nested_filter":{
"bool":{
"must":[
{
"term":{
"ncomments.c_status":"public"
}
},
{
"range":{
"ncomments.date":{
"lt":"2014-02-01",
"format":"yyyy-MM-dd"
}
}
}
]
}
}
}
}
]
}