如何使用Kibana查询语言(KQL)筛选指定格式的字段数据
Kibana KQL筛选特定格式字段值
问题场景
字段data_no.keyword的取值如下:
D_00122 - A - 14 D_00133A - 15 D_00145 - 18 D_00167 - B - 18 D_00182A - 19 D_00121 - A - 13 D_0011 - 18
需要筛选出完全符合以下格式的记录:
- 以
D_开头,后跟纯数字(数字后无其他字符) - 接着是
-(空格+连字符+空格) - 最后是纯数字
期望结果:
D_00145 - 18 D_0011 - 18
无效查询尝试
用户尝试的查询无法满足需求:
data_no.keyword : D_* AND NOT data_no.keyword : 'D_*A - *'
正确KQL查询语句
使用KQL的正则匹配语法来精准筛选:
data_no.keyword:/^D_\d+ - \d+$/
语法解释
^:匹配字符串的起始位置,确保以D_开头D_:固定开头字符\d+:匹配一个或多个数字,对应开头D_后的纯数字部分-:精确匹配空格+连字符+空格的分隔符\d+$:匹配结尾的一个或多个数字,$确保字符串到此结束,避免后面还有其他字符
内容的提问来源于stack exchange,提问作者RKIDEV
相关产品推荐
相关产品推荐

