如果我放了这样的文件:
$ curl -XPOST "http://localhost:9200/test/test/" -d '
{
"books": {
"id1": {
"name": "Hello World!"
},
"id2": {
"name": "Hitchhiker Guide To The Galaxy"
}
}
}'
然后它会创建一个这样的映射:
$ curl -XGET "http://localhost:9200/test/test/_mapping"
{
"test":{
"mappings":{
"test":{
"properties":{
"books":{
"properties":{
"id1":{
"properties":{
"name":{
"type":"string"
}
}
},
"id2":{
"properties":{
"name":{
"type":"string"
}
}
}
}
}
}
}
}
}
}
“books”对象中的属性/键是动态的,映射将无休止地增长。如何让ES不要查看“书籍”的键,并让它理解“书籍”中的每个值都属于同一类型?例如。映射不应包含每个图书ID的新条目。
答案 0 :(得分:0)
除非您使用bulk upload,否则您一次只能存储一个文档。单个文档可能如下所示:
$ curl -XPOST "http://localhost:9200/test/test/" -d '
{
"id": "id1",
"name": "Hello World!"
}'
或者:
$ curl -XPOST "http://localhost:9200/test/test/id1" -d '
{
"name": "Hello World!"
}'