我使用这些映射创建了一个类型:
{
"test" : {
"_all" : {"enabled" : false},
"_source" : {"enabled" : true},
"properties": {
"a" : {"type" : "string","index" : "not_analyzed", "store": false },
"b" : {"type" : "double", "store": false },
"c" : {"type" : "date", "store": false }
}
}
}
但是当我尝试检索映射时,我从elasticsearch获得了这个响应:
{
"my-index": {
"mappings": {
"test": {
"_all": {
"enabled": false
},
"properties": {
"a": {
"type": "string",
"index": "not_analyzed"
},
"b": {
"type": "double"
},
"c": {
"type": "date",
"format": "dateOptionalTime"
}
}
}
}
}
}
为什么商店属性消失了?我在PUT映射中犯了错误吗?
答案 0 :(得分:2)
获取Elasticsearch映射时,它不会显示具有默认值的设置。
默认情况下不存储单个字段(仅存储源文档) - 通过添加启用存储的字段对此进行测试:
curl -XPUT "http://localhost:9200/myindex/test/_mapping" -d'
{
"test" : {
"_all" : {"enabled" : false},
"_source" : {"enabled" : true},
"properties": {
"a" : {"type" : "string","index" : "not_analyzed", "store": false },
"b" : {"type" : "double", "store": false },
"c" : {"type" : "date", "store": false },
"d" : {"type" : "string", "store": true }
}
}'
获取映射表明存储了字段d。
curl -XGET "http://localhost:9200/myindex/test/_mapping?pretty"
{
"myindex" : {
"mappings" : {
"test" : {
"_all" : {
"enabled" : false
},
"properties" : {
"a" : {
"type" : "string",
"index" : "not_analyzed"
},
"b" : {
"type" : "double"
},
"c" : {
"type" : "date",
"format" : "dateOptionalTime"
},
"d" : {
"type" : "string",
"store" : true
}
}
}
}
}
}