gpt4 book ai didi

highcharts - 如何在 Elasticsearch 中汇总 bool 值?

转载 作者:行者123 更新时间:2023-12-02 23:03:15 24 4
gpt4 key购买 nike

我每天要进行几个实验,在 flex 搜索中存储实验的错误 bool(boolean) 值(如果结果正确)。
现在,我想在图形中显示结果(使用highchart js)。
我使用这样的汇总查询来接收每天的汇总错误,包括标准差:

query: {
filtered: {
filter: {
range : {
date: {
"gte":"2015-1-1",
"lte": "2016-1-1,
"time_zone": "+1:00"
}
}
}
}
},
// Aggregate on the results
aggs: {
group_by_date: {
terms:{
field:"date",
order: {_term:"asc"}
},
aggs:{
error_stats:{
extended_stats:{
field:"error"
}
}
}
}
}

我面临的问题是,我无法像从数据库中获得双重错误一样检索 bool(boolean) 值。
当我只是将字段名称更改为
aggs:{
error_stats:{
extended_stats:{
field:"ok"
}
}
}

我收到此错误消息:
ClassCastException[org.elasticsearch.index.fielddata.plain.PagedBytesIndexFieldData cannot be cast to org.elasticsearch.index.fielddata.IndexNumericFieldData

但是,可以将所有 bool(boolean) 值合计,将true表示为1,将false表示为零,然后接收每天的平均值。

谁能帮我这个?

非常感谢!

最佳答案

第一个0/1表示不完全是ES bool(boolean) 表示。 bool(boolean) 类型为true / false。
第二统计汇总只能在数字字段上完成,而不能在字符串字段上完成。
这就是为什么它适用于0/1表示的原因。

您可以使用scripts in extended stats转换此值

{
"aggs" : {
...

"aggs" : {
"grades_stats" : {
"extended_stats" : {
"field" : "grade",
"script" : "_value == 'T' ? 1 : 0",
}
}
}
}
}

要查看聚合中脚本编写的一些示例用法,可以查看 here

关于highcharts - 如何在 Elasticsearch 中汇总 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28050292/

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