通过sql查询创建sense查询
我想得到年数,并申请分组,以获得记录的计数。为此,我的SQL查询是-通过sql查询创建sense查询,sql,
elasticsearch,sense,Sql,
elasticsearch,Sense,我想得到年数,并申请分组,以获得记录的计数。为此,我的SQL查询是- select substr(lastModified,0,4) , count(*) from EOM group by substr(lastModified,0,4). 我为上面创建的查询是- { "size":0, "aggs": { "profit": { "scripted_metric": { "init_script"
select substr(lastModified,0,4) , count(*) from EOM group by substr(lastModified,0,4).
我为上面创建的查询是-
{
"size":0,
"aggs": {
"profit": {
"scripted_metric": {
"init_script" : "_agg.transactions = []",
"map_script" : "_agg.transactions.add(doc.timeModified.date.getYear())",
"combine_script" : "return _agg.transactions"
}
},
"aggs":{
"terms":{
"field":"profit"
}
}
}
}
结果-
{
"aggregations": {
"profit": {
"value": [
[
2014,
2015,
2016,
2015,
2017
],
[
2015,
2015,
2016,
2016,
2017
]
]
},
"aggs": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": []
}
}
}
它给了我几年的时间,但没有对利润进行调整,它的桶是空的
我想对上面的sql查询使用sense查询。为什么不使用日期范围聚合而不是脚本化度量
(唯一的缺点是您必须手动提供范围中的年份部分)您在上面发布的查询的输出/错误是什么?@TimBiegeleisen post update!!更新后!!!!!!数据范围需要范围,我的索引中没有起始年和结束年的值。如果您希望按年份划分范围,您可以指定从每年更新后的1月1日到12月31日,结果如上所示,我希望在结果中重复的年份计数数(指按查询分组)