Joã*_*hin 8 elasticsearch kibana kibana-6
我正在努力过滤 Kibana 日志消息中的方括号。假设我有以下消息:
[BOOK] The Book 32 was sold
Exception on buying BOOK
Run Code Online (Sandbox Code Playgroud)
我想只过滤具有完全正确的消息[BOOK]
(所以我应该只得到第一个)。
我尝试过使用我能想到的各种转义来过滤自由文本:
[BOOK]
"[BOOK]"
\[BOOK\]
"\[BOOK\]"
\\[BOOK\\]
Run Code Online (Sandbox Code Playgroud)
还尝试按消息字段进行过滤:
message: [BOOK]*
message: "[BOOK]*"
message: \[BOOK\]*
message: "\[BOOK\]*"
Run Code Online (Sandbox Code Playgroud)
但 Kibana 似乎只是忽略了方括号,并且总是带来这两条消息,仅突出显示该BOOK
单词。
我怎样才能强制它搜索[]
?
如果您的message
字段是经过分析的文本,则分析器会删除括号。您应该针对关键字数据类型运行查询。更准确地说,您需要针对关键字数据类型(例如prefix
或wildcard
查询)运行正则表达式。
我们假设 的映射message
是keyword
。如果[BOOK]
始终位于日志消息的开头,则有效的查询如下:
{ "query": {
"prefix": {
"message": "[BOOK]"
}
}}
Run Code Online (Sandbox Code Playgroud)
相反,如果您想搜索[BOOK]
该值的任何部分message
,那么您将需要类似以下内容的内容:
{ "query": {
"wildcard": {
"message": "*[BOOK]*"
}
}}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6605 次 |
最近记录: |