ElasticSearch - 如何获取所有文档的字段?

时间:2017-11-21 09:47:15

标签: elasticsearch

我正在尝试调查我没有文档的ElasticSearch索引。此索引中的某些文档具有父子关系。所以我发了:

 curl -XGET 'http://localhost:9200/myindex/_search?pretty' -H 'Content-Type: application/json' -d'
    {
  "query": {
    "has_parent": {
      "type": "entity",
      "query": {
        "term": {
          "_id": "PROFILE_19986956"
        }
      }
    }
  }
}'

得到了:

"hits" : {
    "total" : 13,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "myindex",
      "_type" : "property",
      "_id" : "PROFILE_19986956_name",
      "_score" : 1.0
    }, 
    ...
    ]
  }

现在我想获取ID为PROFILE_19986956_name的文档的值,以便我curl -XGET 'http://localhost:9200/myindex/property/PROFILE_19986956_name?routing=0&pretty'并获取:

{ "_index" : "myindex", "_type" : "property", "_id" : "PROFILE_19986956_name", "_version" : 3, "found" : true }

这个名字没有价值,我期待得到它。我知道它必须存在,因为搜索实体的名称会产生结果,但由于某种原因,我无法得到包含该名称的字段。我如何让ES展示它?

1 个答案:

答案 0 :(得分:1)

查看映射,我认为字段已编制索引,但源已禁用。试试:

curl -XGET 'http://localhost:9200/myindex

并查看映射是否包含:

"_source": {
    "enabled": false
  }

如果你看到这个,那么文档的来源还没有在elasticsearch中编入索引,所以你无法从中获取它。