Elasticsearch嵌套字段中的排序值

时间:2019-02-19 12:08:08

标签: python-3.x elasticsearch

社区。 我有个问题。 我正在使用Elasticsearch 6.4

我的数据结构的一部分:

{ "_id" : 1,
"dirs" : [
  {"date_since":"2018-01-01", "date_by":"2018-12-01", "dir_id": 1},
  {"date_since":"2017-05-01", "date_by":null, "dir_id": 2}
],
"cost": 100
}

{ "_id" : 2,
"dirs" : [
  {"date_since":"2016-01-01", "date_by":null, "dir_id": 3},
  {"date_since":"2015-05-01", "date_by":"2016-01-01", "dir_id": 4},
  {"date_since":"2016-05-01", "date_by":null, "dir_id": 5}
],
"cost": 200
}

我需要按成本对desc进行排序,并且我需要按date_by字段以空值优先的方式对dirs字段中的值进行排序。

我如何才能对嵌套字段中的值进行排序,而不按该嵌套字段对文档进行排序?

1 个答案:

答案 0 :(得分:0)

您似乎需要这个:https://stackoverflow.com/a/43440405/2255344 该示例包含将'nested' query上的inner_hits与'sort'组成的示例。