如何从Kibana仪表板添加包含过滤器?

时间:2019-08-08 16:21:26

标签: elasticsearch kibana

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

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

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

当您将文档索引到Elasticsearch时,它将创建一个映射,该映射定义每个字段的类型(字符串或文本,long,关键字等)。当查询一个被分析的文本字段时,您首先搜索该字段的所有标记(通常是组成短语的单词),因此,您的日志文件肯定与带有该字段标记的单词“ 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

我不太确定您对第三个问题的意思,因为所有这一切都取决于映射,字段名称应该无关紧要。