有时无法确定json中有哪些字段,但可以确定未知字段的type是keyword。可以通过设置dynamic-templates来实现。
PUT test
{
"mappings": {
"type": {
"properties": {
"name": {
"type": "keyword"
}
},
"dynamic_templates": [
{
"strings_as_keywords": {
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
]
}
}
}
添加数据:
POST test/type
{
"name": "jack",
"age": "12",
"gender": "1"
}
查看mapping:
{
"test": {
"mappings": {
"type": {
"dynamic_templates": [
{
"strings_as_keywords": {
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
],
"properties": {
"age": {
"type": "keyword"
},
"gender": {
"type": "keyword"
},
"name": {
"type": "keyword"
}
}
}
}
}
}