0
您能否幫我將此sql查詢轉換爲彈性搜索查詢?在彈性搜索查詢中查找最大日期
SELECT group,MAX(date) as max_date
FROM table
WHERE checks>0
GROUP BY group
您能否幫我將此sql查詢轉換爲彈性搜索查詢?在彈性搜索查詢中查找最大日期
SELECT group,MAX(date) as max_date
FROM table
WHERE checks>0
GROUP BY group
如果你有如下的查詢,假設你正在做一個HTTP POST
。您可以使用ES的max聚合,以便獲得值並使用條款aggs以便完成GROUP BY
功能。
請求:
yourhost:9200/your_index/_search
請求正文:
{
"query": {
"query_string": {
"query": "checks > 0" <-- check whether this works, if not use the range query
}
},
"aggs": {
"groupby_group": {
"terms": {
"field": "group"
},
"aggs": {
"maximum": {
"max": {
"script": "doc['date'].value"
}
}
}
}
}
}
爲checks > 0
,可以內用range查詢去也查詢,其中co看起來像:
"range" : {
"checks" : {
"gte" : 0
}
}
This可以幫助你執行聚合。但請你確認您已經啓用腳本從elasticsearch.yml你嘗試在查詢之前:
script.inline: on
希望這有助於!
請添加您的數據模型(elasticsearch索引)。沒有它,幫助你是非常棘手的;) – NicolasY