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

问题描述 投票:0回答:1

我想添加一个过滤器 say 以显示包含 say

@log_name
关键字的所有
log
test
。我在 Kibana 仪表板上看到以下字段。

  • 日志
  • @log_name
  • _id
  • _索引
  • 主机名

当我使用

@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
    而不包含
    @log_name

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

elasticsearch kibana
1个回答
0
投票

当您将文档索引到 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

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

© www.soinside.com 2019 - 2024. All rights reserved.