【发布时间】:2015-05-21 22:48:26
【问题描述】:
我在elasticsearch中索引文档时遇到以下问题,我的文档包含一些在其他文档中不重复的字段,因此我最终拥有超过100.000个元素的映射。我们来看一个例子:
如果我将这样的内容发送到空索引:
{"example":{
"a1":123,
"a2":444,
"a3":52566,
"a4":7,
.....
"aN":11
}
}
它将创建以下映射:
{"example" : {
"properties" : {
"a1" : {
"type" : "long"
},
"a2" : {
"type" : "long"
},
"a3" : {
"type" : "long"
},
"a4" : {
"type" : "long"
},
.....
"aN" : {
"type" : "long"
}
}
}
}
如果我发送另一个文件:
{"example":{
"b1":123,
"b2":444,
"b3":52566,
"b4":7,
.....
"bN":11
}
}
它将创建一个与上述映射相同的映射。 该对象比这更复杂,但我现在遇到的情况是映射太大,正在杀死服务器。 我该如何解决这个问题?多场在这种情况下工作吗?我尝试了多种方法,但似乎都不起作用。
谢谢。
【问题讨论】:
-
对于初学者,我的第一感觉是,如果两个文档没有相同的键(或它们的一个大子集),它们就不属于同一类型(即
example) 首先。您可能还想查看this answer。正如 Alex Brasetvik 所说,问题不在于字段太多,而在于无法控制您的映射并让它无限增长,也许您的映射需要考虑一些事情。
标签: elasticsearch mapping