Elasticsearch排序不适用于嵌套字段。它显示了升序和降序值的混合。像40,30,50。它没有按照这样的升序显示:30,40,50
查询:
string
答案 0 :(得分:3)
对嵌套字段进行排序很难,问题是您可以拥有多个嵌套文档,因此您必须决定选择哪个文档。一种方法是在嵌套文档中具有某个字段的最小值,并对该值进行排序。您可以使用模式属性执行此操作。您还需要 nested_path 属性。
它应该是这样的:
"sort" : [
{
"sellerInfoES.offerPrice" : {
"mode" : "avg",
"order" : "asc",
"nested_path" : "sellerInfoES"
}
}
]
更多信息可以在elasticsearch参考中找到: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html#_nested_sorting_example