如何获得以elasticsearch
编写的以下复杂查询select username, count(id),
concat(YEAR(postedtime),'-',MONTH(postedtime),'-',DAY(postedtime),' ',HOUR(postedtime))
from table
where username in ("user1", "user2", "user3")
group by username,
concat(YEAR(postedtime),'-',MONTH(postedtime),'-',DAY(postedtime),' ',HOUR(postedtime));
答案 0 :(得分:2)
以下是一个可以帮助您入门的查询 - 一些注意事项:
"size":0
阻止文件被退回 -
你只会看到聚合。 query_string
查询替换terms
或
甚至使用过滤器 - 它将取决于您的要求。代码:
curl -XGET 'http://localhost:9200/myindex/table/_search?pretty' -d '{
"size": 0,
"query":{
"query_string": { "query":"user1 OR user2 OR user3", "fields": ["username"]}
},
"aggs" : {
"username_agg" : {
"terms": {"field" : "username"},
"aggs" : {
"date_agg": {
"date_histogram" : { "field" : "postedtime", "interval" : "hour" }
}
}
}
}
}'