elasticsearch - Elasticsearch 中的 Goal Scoring Streaks 查询
问题描述
Elasticsearch 中的目标得分条纹
问题
我在 Elasticsearch 中有一个体育数据索引,其中每条记录代表玩家玩过的游戏。我想利用该指数来查找最长的连胜纪录,例如,球员在比赛中至少进一球的最长连胜纪录是多少?我们可以用这个问题举个例子。
架构
假设我们正在回答目标条纹问题,则每个文档都可以使用以下字段。显然还有很多我认为没有必要的信息,但如果我遗漏了什么,请指出,我会提供更新。
{
player_id: String,
game_id: String,
goals: Number,
datetime_played: Date
}
问题
我如何获得最长连续进球数的列表?如果某场比赛的球员进球数为 0,则应该打破连胜纪录。
工作至今
这不是很多,但总的来说,我认为我会首先将事情按player_id
(如下面的查询),然后继续寻找玩家goals > 0
在 a 序列中拥有多个游戏的任何地方,然后在玩家中找到最大值. 我主要迷失在“找到连续的游戏数量goals > 0
”问题的一部分。
{
"size": 0,
"aggs": {
"player_goal_streaks": {
"terms": {
"field": "player_id.keyword",
"size": 10
}
}
}
}
解决方案
推荐阅读
- swift - 从 Reality Composer 导出后 - 如何播放行为
- java - Android Studio:应用内计费 - 为什么项目详细信息调用返回一个空列表?
- google-apps-script - 我们如何更改自动编辑时间脚本的结果表?
- r - R/R Shiny:$ 运算符对原子向量无效
- testing - J-METER 文件保存问题
- python-3.x - 从子目录导入文件,该子目录本身从自己的目录导入文件
- python - 将一个数组的唯一值映射到另一个数组的对应总和
- python - 如何在 Python 脚本中执行 .ipynb 笔记本文件?
- python - 形状必须是等级 4 但等级是 5,形状:[?,32,13,13,64], [3,3,64,1]
- javascript - Node.js:等待管道不等到完成