为什么这个Elasticsearch查询没有返回任何结果?

时间:2018-02-23 05:59:24

标签: elasticsearch

以下是索引metadata

的映射
{
    "mappings": {
        "metric": {
            "properties": {
                'model_id': {"type": "string", "index": "not_analyzed"}
            }
        }
    }
 }

我可以看到我在该指数下的Kibana中有1个文件 enter image description here

这是我的查询作为curl命令:

curl -XGET 'localhost:9200/metadata/metric/_search?pretty' -H 'Content-Type: application/json' -d'
{
    "query" : {
        "constant_score" : {
            "filter" : {
                "term" : {
                    "model_id" : "2532070e-da4b-465f-ba3b-f96beaaa6d5c"
                }
            }
        }
    }
}
'

以下是它的回报:

{
  "took" : 0,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 0,
    "max_score" : null,
    "hits" : [ ]
  }
}

我按照此处文档中的说明尝试使其正常工作:

https://www.elastic.co/guide/en/elasticsearch/guide/current/_finding_exact_values.html

3 个答案:

答案 0 :(得分:1)

由于您没有查询正确的类型,因此您需要metrics而不是metric,这可以为您提供所需内容:

curl -XGET 'localhost:9200/metadata/metric/_search?pretty' -H 'Content-Type: application/json' -d'
                                         ^
                                         |
                                   remove s here

答案 1 :(得分:0)

确保您的索引设置正确。

答案 2 :(得分:0)

我正在使用ES 5.6.2,请尝试此映射

"mappings":{
  "metric":{
     "properties":{
        "model_id":{
           "type":"string",
           "index":"not_analyzed",
           "fields":{
              "keyword":{
                 "type":"keyword",
                 "ignore_above":256
              }
           }
        }
    }
}

}