【问题标题】:elasticsearch / kibana 4: field exists but is not equal to a valueelasticsearch / kibana 4:字段存在但不等于值
【发布时间】:2015-12-05 23:57:43
【问题描述】:

elasticsearch 1.4.5 版

kibana 4.1.1

logstash 1.5.2-1

如何在 kibana 4 的发现选项卡中构建仅在字段存在但不等于特定值时才返回结果的搜索?

我在 logstash 中有一些 apache 日志数据,我想返回所有定义了 status_code 但不等于 200 的条目。所以如果可能的值是 {undefined, 200, 403, 404, 500, etc} 我希望查看 4xx 和 5xx 错误的所有变体,但不查看未定义字段且未设置为 200 的消息。

我尝试了以下方法:

+status_code: (*) -status_code: (200)

((status_code: (*) AND NOT status_code: (200))

我还看到了对 elasticsearch curl queries 的引用,但我不确定如何将它们变成我可以在 kibana 搜索栏中使用的东西。这是一个例子:

{
  "query": {
    "constant_score": {
      "filter": {
        "bool": {
          "must": {
            "exists": {
              "field": "status_code"
            }
          },
          "must_not": {
            "term": {
              "status_code": '200'
            }
          }
        }
      }
    }
  }
}

谢谢!

【问题讨论】:

    标签: elasticsearch kibana-4


    【解决方案1】:

    您要查找的查询是这个:

    _exists_:status_code AND NOT status_code:200
    

    This link 向您展示了查询字符串查询所支持的所有内容。

    【讨论】:

      【解决方案2】:

      上一个答案正是我所要求的,但是,这也很有用:

       status_code:[300 TO 600]
      

      【讨论】:

        猜你喜欢
        • 2019-03-06
        • 2018-12-02
        • 2019-10-28
        • 1970-01-01
        • 1970-01-01
        • 2020-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多