elasticsearch 向聚合查询添加where子句
这是kibana生成的查询,它按预期工作。但是我想在查询中再添加一个where子句。eventname不应以“描述”或“列表”开头
elasticsearch 向聚合查询添加where子句,
elasticsearch,kibana,
elasticsearch,Kibana,这是kibana生成的查询,它按预期工作。但是我想在查询中再添加一个where子句。eventname不应以“描述”或“列表”开头 更新: 我不确定这是否会正确地排除记录 "must_not": [ { "prefix" : { "eventName.keyword" : "Describe" } }, { "prefix" : { "eventName.keyword" : "List" } } ] 如何将此查询返回kibana?您可以通过以下任一
更新: 我不确定这是否会正确地排除记录
"must_not": [
{
"prefix" : { "eventName.keyword" : "Describe" }
},
{
"prefix" : { "eventName.keyword" : "List" }
}
]
如何将此查询返回kibana?您可以通过以下任一方式获得预期结果: 方法1:自定义现有查询\u字符串查询 将Kibana搜索栏中的默认查询字符串替换为以下查询字符串:
!(eventName.keyword: Describe* OR eventName.keyword: List*)
方法2:在Kibana中添加过滤器
`我对查询做了一些更改。但是如何将新查询应用到kibana?我使用的是方法1。有很多OR子句(不仅仅是2个)。有没有办法缩短它?如果您将
eventName.keyword
设置为default\u字段
,那么您可以忽略查询字符串中的字段名前缀,这样最终您的上述查询字符串可以重写为!(描述*列表*)
。
!(eventName.keyword: Describe* OR eventName.keyword: List*)
{
"query": {
"bool": {
"must_not": [
{
"prefix": {
"eventName.keyword": "Describe"
}
},
{
"prefix": {
"eventName.keyword": "List"
}
}
]
}
}
}