我正在尝试调查我没有文档的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展示它?
答案 0 :(得分:1)
查看映射,我认为字段已编制索引,但源已禁用。试试:
curl -XGET 'http://localhost:9200/myindex
并查看映射是否包含:
"_source": {
"enabled": false
}
如果你看到这个,那么文档的来源还没有在elasticsearch中编入索引,所以你无法从中获取它。