我每天要进行几个实验,在Elasticsearch中存储实验的 错误 和 布尔
值(如果结果正确)。现在,我想在图形中显示结果(使用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"
}
}
}
}
}
我面临的问题是,我无法像从数据库中获得双重错误一样检索布尔值。当我只是将字段名称更改为
aggs:{
error_stats:{
extended_stats:{
field:"ok"
}
}
}
我收到此错误消息:
ClassCastException[org.elasticsearch.index.fielddata.plain.PagedBytesIndexFieldData cannot be cast to org.elasticsearch.index.fielddata.IndexNumericFieldData
但是,可以将所有布尔值合计为true,将true设置为1,将false设置为零,然后每天接收平均值。
谁能帮我这个?
非常感谢!
第一个0/1表示不完全是ES布尔表示。布尔类型为true /
false。第二统计汇总只能在数字字段上完成,而不能在字符串字段上完成。这就是为什么它适用于0/1表示的原因。
您可以使用扩展统计信息中的脚本来转换此值
{
"aggs" : {
...
"aggs" : {
"grades_stats" : {
"extended_stats" : {
"field" : "grade",
"script" : "_value == 'T' ? 1 : 0",
}
}
}
}
}
要查看聚合中脚本编写的一些示例用法,请查看此处。
问题内容: 我需要如下汇总一个数组 两个文档示例: 我想聚集阵列,找出所有的已经去了。我想要这样的东西: 其中,是数组长度减去1 的长度。我尝试了术语“聚合”和“和”,但无法输出所需的输出。 可以对文档结构进行更改,因此,如果这样对我有所帮助,我将很高兴知道。 问题答案: 在“ 城市 ” 上方发布的文档中,它不是json数组,而是json对象。如果可以更改文档结构,则可以将文档中的城市更改为对象数
问题内容: 我想创建以下查询的等效项- 我使用必须和应该尝试了布尔查询的不同组合,但似乎没有任何效果。能做到吗? 问题答案: 这样的事情怎么样:
问题内容: 我想使用 AND OR 获取所有文档。 我写错了这个逻辑吗? 为什么我的查询返回0个结果? 注意 :我可以接受查询或过滤器来解决此问题。 这些是一些示例文档: 询问 问题答案: 您无法获得结果的主要原因是因为您试图对进行过滤,这是一个已分析的字段。如果要对该字段进行匹配,则需要更新类型映射以将该字段设置为。请参见以下示例映射: 从此处开始阅读有关映射的信息:http : //www.e
本文向大家介绍python中的Elasticsearch操作汇总,包括了python中的Elasticsearch操作汇总的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了python中的Elasticsearch操作汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 导入包 本地连接 创建索引 ingore=400 ingore是忽略
我在这里遵循指南https://dzone.com/articles/23-usplient-ellasticsearch-example-queries,下面的bool查询让我感到困惑: 根据教程,查询的解释是: 搜索标题中有“ellasticsearch”或“solr”字样的书,由“Clinton Gormley”撰写,但不由“Radu Gheorge”撰写 我的问题是,bool查询中有3个条
我使用bool查询的必须和must_not功能。它像预期的那样工作,直到我得到一个3级深的属性。 工作正常并返回结果,但如果我在bool查询中执行相同的操作,如。。 不返回任何结果。这是为什么?????记住其他bool查询,例如。。 干得很好!它只适用于任何3级深的字段,因此搜索任何1级深的术语。建议3。建议3