ElasticSearch:按嵌套字段中的最小值进行过滤

问题描述 投票:0回答:1

我的索引(竞赛用户结果)的结构如下:

{
  "contest_name",
  "contest_date",
  "user_scores": [
     "username": score,
     "username": score,
     "username": score,
  ],
},

user_scores
是一个嵌套字段。

如何过滤没有用户在该竞赛中得分低于 90 分的竞赛?

下一个任务是在聚合中获取此类比赛的计数。

附注我无法更改索引结构或使用数据库代替

elasticsearch
1个回答
0
投票

查询:

"query": {
    "bool": {
        "must": {
            "script": {
                "script": {
                    "lang": "expression",
                    "source": "doc['user_scores'].min() >= 90"
                }
            }
        }
    }
}

© www.soinside.com 2019 - 2024. All rights reserved.