gpt4 book ai didi

elasticsearch - 如何在Elasticsearch中搜索时间范围?

转载 作者:行者123 更新时间:2023-12-03 01:02:40 24 4
gpt4 key购买 nike

我有很多看起来像这样的数据:

{
"timestamp": "2015-04-23T14:35:43.511Z",
"component1Health": "false",
"area": "squad1"
}

{
"timestamp": "2015-04-23T18:03:22.911Z",
"component1Health": "true",
"area": "squad7"
}

我想搜索例如的所有实例
"component1Health": "false"

发生在任何工作日的上午8点至晚上8点之间。

https://www.elastic.co/guide/en/elasticsearch/guide/current/_ranges.html上的文档
表明可以轻松查询日期范围,例如
"range" : {
"timestamp" : {
"gt" : "2014-01-01 00:00:00",
"lt" : "2014-01-07 00:00:00"
}
}

但我无法弄清楚自己在做错什么以浪费时间。我已经看过stackoverflow和es论坛等,但是我无法破解。

你能帮我吗?

谢谢,
安迪

最佳答案

我认为您无法在日期范围内实现这一目标。一个简单的解决方案是索引一个包含一天中小时的新整数字段。这样您的两个文档如下所示:

{
"timestamp": "2015-04-23T14:35:43.511Z",
"hourOfTheDay": 14,
"component1Health": "false",
"area": "squad1"
}

{
"timestamp": "2015-04-23T18:03:22.911Z",
"hourOfTheDay": 18,
"component1Health": "true",
"area": "squad7"
}

现在,您可以对新字段执行类似的范围过滤器,如下所示:
"range" : {
"hourOfTheDay" : {
"gt" : 7,
"lt" : 21
}
}

希望能帮助到你。

关于elasticsearch - 如何在Elasticsearch中搜索时间范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35241517/

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