gpt4 book ai didi

Elasticsearch 按对象数组排序

转载 作者:行者123 更新时间:2023-11-29 02:56:01 25 4
gpt4 key购买 nike

我有一个像这样的engagement列以及其他列

记录1

"date":"2017-11-23T06:46:04.358Z",
"remarks": "test1",
"engagement": [
{
"name": "comment_count",
"value": 6
},
{
"name": "like_count",
"value": 2
}
],
....
....

记录2

  "date":"2017-11-23T07:16:14.358Z",
"remarks": "test2",
"engagement": [
{
"name": "comment_count",
"value": 3
},
{
"name": "like_count",
"value": 9
}
],
....
....

我正在以数组格式存储对象,现在我想按任何给定对象名称的 desc 顺序对数据进行排序,例如like_count 的值或 share_count 的值。

因此,如果我按 like_count 排序,则 2nd 记录应该排在第 1 条记录之前,因为 2nd 记录的 like_count 值为 9与第一条记录的 like_count 的值为 2 相比。

如何在 elasticsearch 中做到这一点?

最佳答案

你应该有如下内容:

{
"query": {
"nested": {
"path": "engagement",
"filter": {
...somefilter...
}
}
},
"sort": {
"engagement.name": {
"order": "desc",
"mode": "min",
"nested_filter": {
...same.filter.as.before
}
}
}
}

来源:Elastic Docs

关于Elasticsearch 按对象数组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48900655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com