gpt4 book ai didi

elasticsearch - 在ElasticSearch中组合范围和直方图过滤器

转载 作者:行者123 更新时间:2023-12-02 22:47:19 25 4
gpt4 key购买 nike

考虑一下存储在ElasticSearch中的事件日志。 Activity 看起来像这样

{
"timestamp": "2013-04-04T15:38:17Z",
"color": "red"
}

{
"timestamp": "2013-04-04T17:51:21Z",
"color": "green"
}

我想为每种颜色绘制频率时间表。我知道我可以通过两个查询来获得时间表:
{
"query": {
"match": {
"color": "red"
}
},
"size": 0,
"facets": {
"freq": {
"date_histogram": {
"interval": "day",
"field": "timestamp"
}
}
}
}

第二个查询将是 "match": { "color": "green" }

我可以将这些查询组合成一个,让我要么
  • 计数(颜色)/天/桶
  • 或每种颜色一个方面,包含该颜色的直方图?

  • 对于两种颜色,单独的查询可能很好用,但是您可能会怀疑这是一个人为的示例。我真的要处理十多种颜色,此时单个查询就非常好。

    最佳答案

    您可以使用facet_filter将不同颜色的构面组合到同一请求中:

    {
    "facets": {
    "freq_red": {
    "date_histogram": {
    "interval": "day",
    "field": "timestamp"
    },
    "facet_filter": {
    "term": {
    "color": "red"
    }
    }
    },
    "freq_green": {
    "date_histogram": {
    "interval": "day",
    "field": "timestamp"
    },
    "facet_filter": {
    "term": {
    "color": "green"
    }
    }
    }
    }
    }

    关于elasticsearch - 在ElasticSearch中组合范围和直方图过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15821184/

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