相关疑难解决方法(0)

在elasticsearch上查找具有空字符串值的文档

我一直在尝试使用elasticsearch过滤那些在其主体中包含空字符串的文档.到目前为止,我没有运气.

在我继续之前,我应该提一下,我已经尝试过围绕Interwebz和StackOverflow传播的许多 "解决方案".

所以,下面是我正在尝试运行的查询,后跟其对应项:

{
    "query": {
        "filtered":{
            "filter": {
                "bool": {
                    "must_not": [
                        {
                            "missing":{
                                "field":"_textContent"
                            }
                        }
                    ]
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过以下方法:

 {
    "query": {
        "filtered":{
            "filter": {
                "bool": {
                    "must_not": [
                        {
                            "missing":{
                                "field":"_textContent",
                                "existence":true,
                                "null_value":true
                            }
                        }
                    ]
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

以下内容:

   {
    "query": {
        "filtered":{
            "filter": {
                    "missing": {"field": "_textContent"}
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

以上都没有奏效.当我确定有包含空字符串字段的记录时,我得到一个空结果集.

如果有人能给我任何帮助,我将非常感激.

谢谢!

elasticsearch

28
推荐指数
5
解决办法
5万
查看次数

elasticsearch/kibana 4:字段存在但不等于值

elasticsearch版本1.4.5

kibana 4.1.1

logstash 1.5.2-1

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

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

我尝试过以下方法:

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

((status_code: (*) AND NOT status_code: (200))
Run Code Online (Sandbox Code Playgroud)

我也看到了对elasticsearch curl查询的引用,但我不知道如何将它们变成我可以在kibana搜索栏中使用的东西.这是一个例子:

{
  "query": {
    "constant_score": {
      "filter": {
        "bool": {
          "must": {
            "exists": {
              "field": "status_code"
            }
          },
          "must_not": {
            "term": {
              "status_code": '200'
            }
          }
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

elasticsearch kibana-4

28
推荐指数
2
解决办法
5万
查看次数

对 ES 进行搜索时未知查询 [已过滤]

我是 ES 新手,我正在使用 ES 7.10.1,我有以下简单的搜索请求:

GET /megacorp/_doc/_search
    {
        "query":{
            "filtered":{
                "filter":{
                    "range":{
                        "age":{
                            "gt":30
                        }
                    }
                },
                "query":{
                    "match":{
                        "last_name":"smith"
                    }
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我在Kibana Dev Tools中运行上述查询(使用查询和过滤器)时,出现如下异常,请问如何解决这个问题,谢谢。

{
  "error" : {
    "root_cause" : [
      {
        "type" : "parsing_exception",
        "reason" : "unknown query [filtered]",
        "line" : 3,
        "col" : 14
      }
    ],
    "type" : "parsing_exception",
    "reason" : "unknown query [filtered]",
    "line" : 3,
    "col" : 14,
    "caused_by" : {
      "type" : "named_object_not_found_exception",
      "reason" : "[3:14] unknown field [filtered]"
    }
  }, …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

5
推荐指数
1
解决办法
8646
查看次数

标签 统计

elasticsearch ×3

kibana-4 ×1