gpt4 book ai didi

elasticsearch - 如何用[]搜索字符串

转载 作者:行者123 更新时间:2023-12-02 23:19:21 24 4
gpt4 key购买 nike

kibana中,如何搜索包含字符串MESSAGES的所有[]

如果我使用"hostname []"搜索,它将与完整的MESSAGE有效负载匹配,如下图所示,但是如何匹配所有包含空[]的记录,而忽略诸如hostname [3]这样的字段却包括诸如foo bar hostname []这样的条目?

enter image description here

最佳答案

标准 token 生成器会在遇到空格或标点符号时拆分单词(不包括特殊字符),您可以看到elasticsearch如何分析:

GET _analyze
{
"analyzer" : "standard",
"text" : "function []"
}

{
"tokens": [
{
"token": "function",
"start_offset": 0,
"end_offset": 8,
"type": "<ALPHANUM>",
"position": 0
}
]
}

不包含 [],现在让我们使用 whitespace分析器进行测试
GET _analyze
{
"analyzer" : "whitespace",
"text" : "function []"
}
{
"tokens": [
{
"token": "function",
"start_offset": 0,
"end_offset": 8,
"type": "word",
"position": 0
},
{
"token": "[]",
"start_offset": 9,
"end_offset": 11,
"type": "word",
"position": 1
}
]
}

因此,对于这种特定情况,只需更改映射即可,在 whitespace分析器字段中进行设置:
 "MESSAGE": {
"type": "text",
"analyzer" : "whitespace"
}

enter image description here

关于elasticsearch - 如何用[]搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51314468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com