You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kibana中查询包含指定子串的日志(含无空格场景)

Kibana搜索包含任意位置"Bla"的日志解决方案

嘿,我来帮你搞定这个搜索问题!你之前的查询只能匹配到"Bla"作为独立单词的场景,本质原因是Elasticsearch默认对@message字段做了分词处理——它会把日志内容拆成一个个以空格、标点等分隔符划分的单词,只有当"Bla"单独成词时才会被命中。要同时覆盖带空格和不带空格的情况,试试下面这两种实用方法:

方法1:通配符匹配

用通配符*来匹配Bla前后的任意字符(包括空字符),写法非常直观:

@message:*Bla*

这个查询会扫描@message字段的整个字符串,只要其中任意位置包含"Bla",不管前后是空格、冒号、逗号还是其他符号,都会被匹配到。

方法2:正则表达式匹配

Kibana支持原生正则查询,能更灵活地控制匹配规则,基础写法是:

@message:/Bla/

如果需要忽略大小写(比如同时匹配"bla"、"BLA"),可以加上i标记:

@message:/Bla/i

正则查询同样会对整个字符串做匹配,完美覆盖你提到的两种日志场景。

性能小提示

如果你的日志数据量特别大,以*开头的通配符查询可能会影响性能。这种情况下,建议使用@message对应的keyword子字段(比如@message.keyword)来查询,写法是:

@message.keyword:*Bla*

因为keyword类型字段是不分词的,直接做字符串级别的匹配,性能会更优。

内容的提问来源于stack exchange,提问作者Shahaf Shavit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 22:57:47