按嵌套类型数组中的第一个元素排序

4
根据这个链接描述的ElasticSearch中嵌套字段排序的添加:链接
引用:

根据使用的sort_mode,选择最高(max)或最低(min)内部对象进行排序。

有没有办法,而不是使用最高或最低值,它使用数组的第一个值? 所以例如,如果记录看起来像这样:

{
    "title": "Blah blah blah",
    "authors": [
        {
            "last": "Reiter",
            "first": "Jordan",
        },
        {
            "last": "Jim",
            "first": "Lee",
        }
    ]
}

我希望按照作者.姓, 作者.名的顺序排序,对于给定的记录,它将使用Reiter, Jordan进行排序?

1个回答

2
很遗憾,不行。
我建议将您想要排序的作者存储在父文档中,即:
title: "Blah blah"
sortByAuthor: "Jordan Reiter"
authors: [
    ...
]

您可能可以使用脚本来完成当前结构,但这样会比必要的加载更多内容到内存中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接