将 where 子句添加到聚合查询
Adding where clause to aggregate query
这是 kibana 生成的查询,它按预期工作。但我想在查询中再添加一个 where 子句。事件名称不应以 "Describe" 或 "List".
开头
{
"size": 0,
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "*",
"analyze_wildcard": true
}
},
{
"range": {
"@timestamp": {
"gte": 1490867646696,
"lte": 1493459646696,
"format": "epoch_millis"
}
}
}
],
"must_not": []
}
},
"_source": {
"excludes": []
},
"aggs": {
"2": {
"terms": {
"field": "eventName.keyword",
"size": 5000,
"order": {
"_count": "desc"
}
}
}
}
}
更新:
我不确定这是否会正确排除记录。
"must_not": [
{
"prefix" : { "eventName.keyword" : "Describe" }
},
{
"prefix" : { "eventName.keyword" : "List" }
}
]
如何将此查询返回到 kibana 中?
您可以通过以下两种方式达到预期效果:
方法一:自定义现有的query_string查询
将 Kibana 搜索栏中的默认 query_string
查询 *
替换为以下查询字符串:
!(eventName.keyword: Describe* OR eventName.keyword: List*)
方法二:在Kibana中添加过滤器
- 按照说明在 Kibana 中添加过滤器 here
- 然后 edit the filter 并用以下代码替换整个过滤器:
`
{
"query": {
"bool": {
"must_not": [
{
"prefix": {
"eventName.keyword": "Describe"
}
},
{
"prefix": {
"eventName.keyword": "List"
}
}
]
}
}
}
`
这是 kibana 生成的查询,它按预期工作。但我想在查询中再添加一个 where 子句。事件名称不应以 "Describe" 或 "List".
开头{
"size": 0,
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "*",
"analyze_wildcard": true
}
},
{
"range": {
"@timestamp": {
"gte": 1490867646696,
"lte": 1493459646696,
"format": "epoch_millis"
}
}
}
],
"must_not": []
}
},
"_source": {
"excludes": []
},
"aggs": {
"2": {
"terms": {
"field": "eventName.keyword",
"size": 5000,
"order": {
"_count": "desc"
}
}
}
}
}
更新: 我不确定这是否会正确排除记录。
"must_not": [
{
"prefix" : { "eventName.keyword" : "Describe" }
},
{
"prefix" : { "eventName.keyword" : "List" }
}
]
如何将此查询返回到 kibana 中?
您可以通过以下两种方式达到预期效果:
方法一:自定义现有的query_string查询
将 Kibana 搜索栏中的默认 query_string
查询 *
替换为以下查询字符串:
!(eventName.keyword: Describe* OR eventName.keyword: List*)
方法二:在Kibana中添加过滤器
- 按照说明在 Kibana 中添加过滤器 here
- 然后 edit the filter 并用以下代码替换整个过滤器:
`
{
"query": {
"bool": {
"must_not": [
{
"prefix": {
"eventName.keyword": "Describe"
}
},
{
"prefix": {
"eventName.keyword": "List"
}
}
]
}
}
}
`