elasticsearch - 在 Kibana 上过滤方括号

标签 elasticsearch kibana kibana-6

我正在努力过滤 Kibana 中日志消息中的方括号。
假设我有以下消息:

[BOOK] The Book 32 was sold
Exception on buying BOOK

而且我只想过滤具有完全 [BOOK] 的消息(所以我应该只得到第一个)。

我试过用我能想到的各种转义来过滤自由文本:
[BOOK]
"[BOOK]"
\[BOOK\]
"\[BOOK\]"
\\[BOOK\\]


还尝试按消息字段过滤:
message: [BOOK]*
message: "[BOOK]*"
message: \[BOOK\]*
message: "\[BOOK\]*"

但是 Kibana 似乎只是简单地忽略了方括号,并且总是带来这两个消息,只突出显示 BOOK单词。

如何强制它搜索 [] ?

最佳答案

如果您的 message field 是分析过的文本,然后括号被分析器删除。您应该针对关键字数据类型运行查询。更准确地说,您需要针对关键字数据类型运行正则表达式,例如 prefixwildcard询问。

让我们假设 message 的映射是 keyword .如 [BOOK]始终位于日志消息的开头,则有效查询如下:

{ "query": {
  "prefix": {
    "message": "[BOOK]"
  }
}}

如果您想搜索 [BOOK]message 的任何部分值,那么你需要类似的东西:
{ "query": {
  "wildcard": {
    "message": "*[BOOK]*"
  }
}}

关于elasticsearch - 在 Kibana 上过滤方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59634839/

相关文章:

elasticsearch - elasticsearch查询中的“exists”对对象不起作用

Elasticsearch 时间范围查询和数据

linux - 脚本填充值警报

elasticsearch - 了解 Elasticsearch

elasticsearch - 即使在使用单例模式后也能看到许多打开的 Elasticsearch 连接

elasticsearch - 没有显示结果,因为所有值都等于0-Kibana

elasticsearch - 插件[ingest-geoip]是为Elasticsearch版本6.2.4构建的,但是版本6.5.0正在运行

elasticsearch - 将日期直方图限制在日期范围内而不影响结果

elasticsearch - 使用脚本而不禁用Elasticsearch中的 “script.disable_dynamic”

elasticsearch - 情绪分析-弹性叠加