es 父子文档 父子排序
时间: 2023-08-19 17:04:52 浏览: 136
Elasticsearch中的父子文档是一种数据建模方式,其中存在一对有父子关系的文档。在这种情况下,父文档和子文档具有不同的字段,并且它们可以分别进行索引和查询。例如,一个父文档可以表示一个博客文章,而子文档可以表示文章中的评论。
当使用父子文档时,可以使用父子排序来指定如何对父文档和子文档进行排序。例如,如果要按照博客文章的发布日期对父文档进行排序,并按照评论的点赞数对子文档进行排序,则可以使用以下代码:
```
GET /my_index/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"publish_date": {
"order": "desc",
"mode": "max",
"nested_filter": {
"match": {
"_index": {
"query": "comments",
"type": "comment"
}
}
}
}
},
{
"comments.likes": {
"order": "desc",
"nested_filter": {
"match": {
"_index": {
"query": "comments",
"type": "comment"
}
}
}
}
}
]
}
```
在上面的代码中,我们首先按照父文档的发布日期进行排序,然后按照子文档的点赞数进行排序。在每个排序字段中,我们使用嵌套过滤器来确保仅对子文档进行排序。
阅读全文