ElasticSearch:_score字段上的聚合?

ElasticSearch:_score字段上的聚合?,第1张

ElasticSearch:_score字段上的聚合?

注意:就最新版本的Elasticsearch而言,原始答案现在已过时。使用Groovy脚本编写的等效脚本为:

{    ...,    "aggregations" : {        "grades_stats" : {  "stats" : {      "script" : "_score"  }         }    }}

为了使此工作有效,您将需要启用动态脚本,或者甚至更好的方法是,存储基于文件的脚本并按名称执行(通过不启用动态脚本来增加安全性)!


您可以使用脚本,并使用doc.score引用分数。更多详细信息,请参见ElasticSearch的脚本文档。

统计汇总示例如下:

{    ...,    "aggregations" : {        "grades_stats" : {  "stats" : {      "script" : "doc.score"  }         }    }}

结果看起来像:

"aggregations": {    "grades_stats": {        "count": 165,        "min": 0.46667441725730896,        "max": 3.1525731086730957,        "avg": 0.8296855776598959,        "sum": 136.89812031388283    }}

直方图也可以是有用的聚合:

"aggs": {    "grades_histogram": {        "histogram": { "script": "doc.score * 10", "interval": 3        }    }}

直方图结果:

"aggregations": {    "grades_histogram": {        "buckets": [ {    "key": 3,    "doc_count": 15 }, {    "key": 6,    "doc_count": 103 }, {    "key": 9,    "doc_count": 46 }, {    "key": 30,    "doc_count": 1 }        ]    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4902102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存