Sgt*_*t B 15 elasticsearch kibana
我有一个字段"警报",其中包含一个包含空格,数字和特殊字符的长字符串.我将此字段设置为"not_analyzed".使用通配符查询我可以发出如下查询并获得我想要的结果.
POST /test-index-snort2/type-snort/_search
{
"query": {
"wildcard": {
"Alert": {
"value": "ET CNC*"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想用Kibana来实现类似的搜索.但是,这样做不会返回结果.我在Kibana的查询显示如下:
Alert:"ET CNC*"
Run Code Online (Sandbox Code Playgroud)
这反过来创建一个query_string查询,如下所示:
"query": {
"filtered": {
"query": {
"bool": {
"should": [
{
"query_string": {
"query": "Alert:\"ET CNC*\""
}
}
]
}
},
"filter": {
"bool": {
"must": [
{
"match_all": {}
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法通过使用通配符查询的query_string查询在Kibana中获得相同的结果?
以下是Alert字段的映射和条目示例:
"Alert": {
"type": "string",
"index": "not_analyzed"
},
"Alert": "ET CNC Palevo Tracker Reported CnC Server TCP group 9 ",
"Alert": "ET CNC Palevo Tracker Reported CnC Server TCP group 10 ",
"Alert": "ET CNC Zeus Tracker Reported CnC Server TCP group 3 ",
Run Code Online (Sandbox Code Playgroud)
Sgt*_*t B 15
感谢#elasticsearch中的polyfractal结束,我有一个答案.默认情况下,query_string将小写通配符输入.可以通过lowercase_expanded_terms = false设置禁用此功能.但是,没有办法在Kibana中设置它.
polyfractal建议我创建一个分析器来小写这个内容.这将允许我使用带有通配符的query_string,其限制是在facet结果中字段值将以小写形式出现,但_source将保留原始格式.对我来说,这很有效,是我正在努力的解决方案.
除IRC外:
<polyfractal> id set up the analyzer like this: tokenizer:keyword, filters: [lowercase]
<polyfractal> that'll basically give you a lowercased `not_analyzed` field. may also want to disable norms, since you prolly dont need them either
Run Code Online (Sandbox Code Playgroud)
小智 10
尝试
{"wildcard":{"Alert":"ET CNC*"}}
Run Code Online (Sandbox Code Playgroud)
在搜索栏中.您将在query_string中获得预期的格式.
| 归档时间: |
|
| 查看次数: |
30252 次 |
| 最近记录: |