我是AWS ElasticSearch的新手,需要帮助来提及按SQL查询分组的大小参数。实际上,为group by子句返回的数据限制为10,并且任何大于10的数据计数都不会显示。我也尝试将SQL查询转换为ES SDL,但我想我在此方面失败了。我还了解了ES SQL Translate API,但不允许使用。我按照ES文档进行了汇总,并构建了以下查询。
{
"aggregations": {
"range": {
"date_range": {
"field": "p_date.keyword",
"format": "yyyy-MM-dd",
"ranges": [
{ "to": "2020-08-21" },
{ "from": "2020-08-28" }
]
}
},
"aId": {
"terms": {
"field": "a_id.keyword"
}
},
"pDate": {
"terms": {
"field": "p_date.keyword"
}
},
"oStatus": {
"terms": {
"field": "o_status.keyword"
}
},
"qStatus": {
"terms": {
"field": "q_status.keyword"
}
}
}
}
SQL查询是
select * from <table> WHERE p_date >= '2020-08-21' AND p_date <= '2020-08-28' and ipath IS NOT NULL group by a_id,p_date,o_status,q_status order by a_id,p_date
到目前为止,由于从SQL和DSL返回的数据都不同,我有点迷茫。任何帮助将不胜感激。谢谢。