如何解决将弹性中的字段映射限制设置为50k可以吗?
我的应用程序是一个调查创建应用程序,用户可以在其中创建包含许多不同类型问题的调查。然后可以将每个调查共享给其记录如下的任何数量的人... 1个响应如下所示:
{
"id" : 256,// submission id
"timeTaken" : "39.00","startTime" : "2020-07-19T05:37:38.873Z","state" : "COMPLETED","completedTime" : "2020-07-19T05:38:17.873Z","deviceType" : "COMPUTER","ip" : null,"account_id" : 2,"channel_id" : 48,"contact_id" : null,"survey_id" : 10,"trigger_id" : 93,"trigger_contact_id" : null,"locked" : false,"location" : null,"language" : null,"submission_id" : 256,"question_90" : {
"skipped" : false,"answer_choices" : [ 79 ]
},"question_122" : {
"skipped" : false,"otherChoice" : null,"answer_choices" : [ 115,113,111,110,114 ]
},"question_106" : {
"skipped" : false,"answer_choices" : [ 85 ]
},"question_120" : {
"answer_txt": "Great service","skipped" : false
},"question_118" : {
"answer_txt": "Hello people","question_121" : {
"skipped" : false,"answer_date" : "2020-06-04T20:01:49.783Z","answer_timezone" : 330
},"question_108" : {
"skipped" : false,"answer_int" : "93"
},"question_105" : {
"skipped" : false,"answer_string" : "+1 202 9932219"
},"question_93" : {
"skipped" : false,"answer_string" : "Kyra60@yahoo.com"
},"question_117" : {
"skipped" : false
},"question_92" : {
"skipped" : false,"answer_txt" : "composite"
},"question_107" : {
"skipped" : false,"answer_bool" : true
},}
我需要此处的所有字段进行分析和查询。 但是大多数情况下,文档字段限制超过了Elasticsearch默认限制1000。 我非常确定它的性能是1000,但是如何兑现这一点并插入一个可能有20k +字段的文档。
对此有何见识?
解决方法
您绝对不应朝地图爆炸方向前进。 密钥存储在内存中,因此您将过度消耗RAM并降低性能。您已在此处进行了记录:elastic.co/blog/found-crash-elasticsearch#mapping-explosion
您可以使用嵌套的数据类型轻松地用很少的键映射答案。
"answers": [
{
"question_id": 122,"skipped" : false,"otherChoice" : null,"answer_choices" : [ 115,113,111,110,114 ]
}
]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。