【发布时间】:2021-08-06 12:23:19
【问题描述】:
我正在使用 ELK – 7.12.1,在 Kibana 仪表板中,我需要使用无痛过滤器过滤低于假期日期。
01-Jan-2021
14-Jan-2021
26-Jan-2021
11-Mar-2021
02-Apr-2021
13-Apr-2021
14-May-2021
21-Jul-2021
10-Sep-2021
15-Oct-2021
01-Nov-2021
05-Nov-2021
脚本无痛,我有如下。
Language: painless
Type: string
Format: String
Script:
def month = doc['@timestamp'].value.getMonthValue();
def day = doc['@timestamp'].value.getDayOfMonth();
if (month == 1){
if ((day == 01) || (day == 14) || (day == 26) || (day == 11) || (day == 02) || (day == 13) || (day == 21) || (day == 10) || (day == 15) || (day == 05)) {
return true
}
else {
return false
}
}
索引模式 > my-index > 脚本字段 > 假期 > 预览结果
[
{
"_id": "38009464",
"@timestamp": "2021-02-26T11:11:39.707Z",
"holidays": [
null
]
},
{
"_id": "38026158",
"@timestamp": "2021-02-26T11:11:39.727Z",
"holidays": [
null
]
},
{
"_id": "38030065",
"@timestamp": "2021-02-26T11:11:39.735Z",
"holidays": [
null
]
它返回null。那么我该如何解决这个问题以过滤真(或)假?作为
这将检查时间戳是否在这些日期中的任何一天,如果是则返回 true。然后只需要在仪表板上过滤holiday = False就是这个想法。
有人可以帮我解决这个问题吗?会很有帮助的。
【问题讨论】:
标签: elasticsearch kibana elk elasticsearch-painless