我设法将一些相当复杂的查询放在一起(例如,用于从数据生成热图),并且我认为我理解了查询语法,但似乎我没有。
我试图返回符合以下条件的数据:
这是我累了,它没有返回错误,但也没有返回正确的结果:
{
"query" :
{
"filtered":
{
"query":
{
bool:
{
must:
[
{ match: { "event": "UpdateTitle" } }
]
}
},
"filter" :
{
"range" :
{
"@timestamp" :
{
"gt" : "now-1m"
}
}
}
,
"filter" :
{
"exists" :
{
"field" : "Lobby"
}
}
}
}
}
显然我已经尝试过阅读文档了,但它的示例通常只是片段而不是完整的查询,并且使用同名的查询和过滤器会让它们难以置信地混淆。
答案 0 :(得分:0)
这似乎产生了我想要的效果,希望它使用过滤器而不是查询:
{
"query" :
{
"filtered":
{
"filter" :
{
bool:
{
must:
[
{ "term": { "event.raw": "MyEvent" } },
{ "range" : { "@timestamp" : { "gt" : "now-1m" } } },
{ "exists" : { "field" : "MyField" } }
]
}
}
}
}
}