gpt4 book ai didi

elasticsearch - 如何在Elasticsearch中编写此复杂查询

转载 作者:行者123 更新时间:2023-12-03 01:05:53 25 4
gpt4 key购买 nike

如何获得用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));

最佳答案

以下是一个应该入门的查询-一些注意事项:

  • 计数自动返回,无需显式
    要求。
  • "size":0防止文档被退回-
    您只会看到汇总。
  • 返回的日期将是纪元
    格式。
  • 您可以将query_string替换为terms查询,或者
    甚至改为使用过滤器-这取决于您的要求。
  • 有2个聚合级别,第一个是用户名,第二个是日期存储区。

  • 编码:
    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" }
    }
    }
    }
    }
    }'

    关于elasticsearch - 如何在Elasticsearch中编写此复杂查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29604889/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com