在kibana中查找中间的字符串elasticsearch,类似于splunk中的regex

iswrvxsc  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(1)|浏览(399)

在splunk中,我们可以过滤掉两个字符串之间的动态字符串。
比如说,

<TextileType>Shirt</TextileType>
<TextileType>Trousers</TextileType>
<TextileType>Shirt</TextileType>
<TextileType>Trousers</TextileType>
<TextileType>Shirt</TextileType>

我期望的输出:

Shirt - 3
Trousers - 2

我可以轻松地用splunk做这件事。
从谷歌复制的图片(不完全相同)

我怎样才能在Kibana做到这一点?
尝试了很多方法,但不能做任何正则表达式根据我的需要。
注意:这里是json查询的示例,我需要在其中添加regex。在这个例子中,我只是尝试手动搜索“shirt”,我希望动态地得到它。

{
  "query": {
    "match": {
      "text": {
        "query": "Shirt",
        "type": "phrase"
      }
    }
  }
}
ghhaqwfi

ghhaqwfi1#

考虑到数据在示例索引中,可以使用通配符搜索:

GET /sample/_search
{
    "query": {
        "wildcard":{
            "column2":"*Shirt*"
            }
        }
}

注意它如何只返回包含关键字shirt的结果

如果您希望清理数据,则需要通过日志存储管道来运行它,以剥离xml标记并留下文本。

相关问题