在0.90中,对基于嵌套文档内部字段进行排序的支持已添加到elasticsearch中:
https://github.com/elasticsearch/elasticsearch/issues/2662
按嵌套字段排序支持在已经存在的排序选项之上具有以下参数:
nested_path-定义要排序的嵌套对象。实际的排序字段必须是此嵌套对象内的直接字段。默认值为使用排序字段中最直接继承的嵌套对象。
*nested_filter-过滤器应匹配嵌套路径内的内部对象,以便通过排序将其字段值考虑在内。常见的情况是在嵌套的过滤器或查询中重复查询/过滤器。默认情况下,nonested_filter为活动状态。
给定您的示例数据,以下查询应为您提供帮助:
{ "query": { "match_all": {} }, "sort": [ { "examples.source_score": { "order": "desc", "nested_path": "examples", "nested_filter": { "term": { "examples.evidence_source": "friend" } } } } ]}


