如何在弹性搜索中的单个bool过滤器中包含术语和术语过滤器的组合?

时间:2015-06-19 11:35:14

标签: elasticsearch filter

我使用logstash将日志存储在elasticsearch数据库中。我想获取具有特定严重性标签的日志,并且在某些时间戳和某些特定消息的匹配之间。我写的卷曲查询是:

curl -XPOST 'localhost:9200/logstash-2015.06.19/_search/?pretty' -d '{
"query": {
    "filtered": {
        "query": {
            "bool": {
                "must": [
                    {
                        "match": {
                            "@message": "session"
                        }
                    }
                ]
            }
        },
        "filter": {
            "bool": {
                "must": [
                    {
                        "range": {
                            "@timestamp": {
                                "gte": "2015-06-19T10:11:44.000Z",
                                "lte": "2015-06-19T11:11:44.000Z"
                            }
                        }
                    },
                    {
                        "term": {
                            "@app": "sparta"
                        }
                    },
                    {
                        "terms": {
                            "@severityLabel": [
                                "INFO",
                                "WARN",
                                "ERROR",
                                "FATAL",
                                "OFF"
                            ]
                        }
                    }
                ]
            }
        }
    }
} } '

它始终显示零文档,匹配。我使用术语过滤器作为术语过滤器的兄弟,这是一个问题吗?

0 个答案:

没有答案