【发布时间】:2015-08-13 23:28:20
【问题描述】:
我有一个示例 json,我想将它索引到 elasticsearch 中。 示例 Json 索引:
put test/names/1
{
"1" : {
"name":"abc"
},
"2" : {
"name":"def"
},
"3" : {
"name":"xyz"
}
}
在哪里, 索引名称:测试, 输入名称:名称, 编号:1
现在elasticsearch生成的默认映射是:
{
"test": {
"mappings": {
"names": {
"properties": {
"1": {
"properties": {
"name": {
"type": "string"
}
}
},
"2": {
"properties": {
"name": {
"type": "string"
}
}
},
"3": {
"properties": {
"name": {
"type": "string"
}
}
},
"metadataFieldDefinition": {
"properties": {
"name": {
"type": "string"
}
}
}
}
}
}
}
}
如果映射大小从 3(当前)增加到假设数千或百万,则 ElasticSearch 将为每个映射创建一个映射,这可能会导致性能问题,因为映射集合会很大。
我尝试通过设置来创建映射:
"dynamic":false,
"type":object
但它被 ES 覆盖。因为它与索引数据不匹配。
请告诉我如何定义映射以便 ES.不会像上面那样创建一个。
【问题讨论】:
标签: java json elasticsearch