如何编写以下SQL查询的Elastic Search Alternative
,
select
column1,
column2,
column3,
count(column3)
from
table_name
where
some conditions
group by
column1,
column2,
column3
order by
column 3 desc;
我通过方面,总和聚合等尝试了很多方法。无法组合查询。 我认为可以使用脚本完成相同的操作,但我不知道该怎么做?
提前致谢。
答案 0 :(得分:0)
我终于找到了一种方法,但只能按列分组。这是查询
{
"index": "index_value",
"type": "type_value",
"searchQuery": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"activity_date": {
"from": "2013-11-01",
"to": "2014-11-02"
}
}
},
"facets": {
"sample_facet": {
"terms_stats": {
"key_field": "offering_sku",
"value_field": "net_ordered_units",
"value_field": "gross_ordered_units",
"order": "max"
}
}
}
}
}
指定过滤器中的where条件,facet是弹性搜索的替代,其中key_field
表示列名称,value_field
表示执行聚合的字段,如sum,max等。最大订单是指基于降序的最大值进行排序。