我想获得一个时间范围内与特定字符串匹配的文档数 .
如何从此查询中指定时间范围?
GET myindex/_count
{
"query": {
"match" : {
"log" : "ERROR"
}
}
}
要获得时间范围:
{
"query": {
"range": {
"msgSubmissionTime": {
"gte": "now-10m",
"lt": "now"
}
}
}
}
有没有办法结合两个查询?
3 回答
我上面的人是正确的,但他们都为
must
添加了多余的[
,]
,这意味着查询超过匹配字段 .你当然可以 . 它可以通过两种方式完成:使用过滤和布尔查询 .
Elastic建议使用过滤器来预过滤结果 - 它们比查询更快 .
布尔查询可以通过AND,OR,NOT运算符来收集不同的查询 .
在官方弹性文档中,您可以找到几乎适合您的问题的示例 - elasticsearch documentation
所以你的查询将是:
试试这个 .