首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kibana -用于多字段映射的缺失文本高亮显示

Kibana -用于多字段映射的缺失文本高亮显示
EN

Stack Overflow用户
提问于 2022-06-07 13:29:45
回答 1查看 55关注 0票数 0

我正在试验ECS -弹性通用模式。我们需要突出显示error.stack_trace字段的文本搜索。该字段是一个多字段映射定义的这里

我刚刚做了一个简单的测试,运行Elasticsearch和Kibana7.17.4,一个字段定义为多字段,另一个字段定义为单字段。

代码语言:javascript
复制
PUT simple-index-01
{
    "mappings": {
      "properties": {
        "stack_trace01": { "type": "text" },
            "stack_trace02": {
              "fields": {
                "text": {
                  "type": "text"
                }
              },
              "type": "wildcard"
            }
          }
        }
}

POST simple-index-01/_doc 
{ 
  "@timestamp" : "2022-06-07T08:21:05.000Z", 
  "stack_trace01": "java.lang.NullPointerException: null",
  "stack_trace02": "java.lang.NullPointerException: null"
}

不突出多个领域是基巴纳期望的行为吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-08 06:12:33

如documentaion中所述,wildcard类型将无法使用全文查询进行搜索(它是关键字类型家族的一部分):

wildcard字段类型是用于使用grep类wildcardregexp查询搜索非结构化机器生成的内容的专用关键字字段。

因此,当您尝试下面的查询时,它将不会返回结果,这就是为什么在“发现”中没有将您的stack_trace02字段调高的原因。

代码语言:javascript
复制
POST simple-index-01/_search
{
  "query": {
    "match": {
      "stack_trace02": "null"
    }
  }
}

但是下面的查询将给出结果:

代码语言:javascript
复制
{
  "query": {
    "wildcard": {
      "stack_trace02": {
        "value": "*null*"
      }
    }
  }
}

您可以创建如下所示的索引映射,并且父类型字段应该是text类型:

代码语言:javascript
复制
PUT simple-index-01
{
  "mappings": {
    "properties": {
      "stack_trace01": {
        "type": "text"
      },
      "stack_trace02": {
        "fields": {
          "text": {
            "type": "wildcard"
          }
        },
        "type": "text"
      }
    }
  }
}

如果要搜索通配符类型的查询,现在可以使用stack_trace02.wildcard

对于类似的行为,已经有了开放的问题,但不是针对wildcard类型的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72532081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档