【问题标题】:How to add contains filter from Kibana dashboard?如何从 Kibana 仪表板添加包含过滤器?
【发布时间】:2019-12-16 10:06:16
【问题描述】:

我想添加一个过滤器 say 以显示所有包含 say test 关键字的 @log_namelog。我在 Kibana 仪表板上看到以下字段。

  • 日志
  • @log_name
  • _id
  • _index
  • 主机名

当我使用@log_name is test 添加过滤器时,它不会返回任何结果,但是当我添加log is test 时,它会返回包含此关键字的所有值。

我也尝试了@log_name is *test*@log_name.keyword is *test*,但没有得到任何结果。我在这里有以下三个问题:

1.如何添加一个过滤器来返回在@log_name 中包含test 的值?

更新:我找到了通过编辑查询 DSL 添加通配符的方法。

{
  "query": {
    "wildcard": {
      "@log_name": {
        "value": "*test*"
      }
    }
  }
}
  1. 为什么我可以搜索包含test 而不是@log_namelog

  2. @fieldName、_fieldName、fieldName 在 Kibana dashbaord 上是什么意思?

【问题讨论】:

  • 请向我们提供有关您的字段数据类型的更多信息。 'log' 和 '@log_name' 是文本和/或关键字吗?
  • 我正在发送 docker 日志,其中 log 是消息,@log_name 是 docker 容器名称。我不确定您所说的文字或关键字是什么意思。

标签: elasticsearch kibana


【解决方案1】:

当您将文档索引到 Elasticsearch 时,它会创建一个映射来定义每个字段的类型(字符串或文本、长整数、关键字等)。当您查询一个被分析的文本字段时,您首先搜索该字段的所有标记(通常是组成短语的单词),因此您的日志文件肯定会与带有该字段标记的单词“test”进行匹配。也许@log_name 字段有另一个配置,所以检查映射。

一些可能有帮助的文档: https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.html https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html

我不太清楚你的第三个问题是什么意思,因为所有这些都取决于映射,字段的名称应该无关紧要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 2021-03-24
    • 2015-08-16
    • 2021-08-06
    • 1970-01-01
    • 2014-08-31
    相关资源
    最近更新 更多