ES服务器dynamic=strict模式下索引新增数据优化求助
大家知道es里面有个自动mappings 就是你添加索引数据的时候 es底层给你自动给这个索引设置了mapping..
这样也不好 比如我业务上有数据类型要求 我们还是需要去自己手动设置mappings的
我查了下es是提供了三种模式 于是我用了他最严格的模式 实际操作 附下图
比如我新建一个索引 指定为严格模式了
正常新增的json
超过我预期效果的新增
查看数据
这很明细不符合啊 他不能控制一定要全部写完才插入吗 我age都没插 他也成功了。。难道我要应用程序端来控制吗。。哪位大神帮忙看下
是不是我少了什配置?
这样也不好 比如我业务上有数据类型要求 我们还是需要去自己手动设置mappings的
我查了下es是提供了三种模式 于是我用了他最严格的模式 实际操作 附下图
比如我新建一个索引 指定为严格模式了
{
"mappings":{
"posts":{
"dynamic":"strict",
"properties":{
"name":{
"type":"keyword"
},
"age":{
"type":"integer"
}
}
}
}
}正常新增的json
{
"name":"sdsdsd",
"age":10
}超过我预期效果的新增
{
"name": "超过我预期效果的新增"
}查看数据
{
"took": 0,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 3,
"max_score": 1.0,
"hits": [
{
"_index": "test_mappings",
"_type": "posts",
"_id": "AXkiM287p36gCRi_oiia",
"_score": 1.0,
"_source": {
"name": "sdsdsd",
"age": 10
}
},
{
"_index": "test_mappings",
"_type": "posts",
"_id": "AXkiNOlcp36gCRi_oiib",
"_score": 1.0,
"_source": {
"name": "超过我预期效果的新增"
}
},
{
"_index": "test_mappings",
"_type": "posts",
"_id": "AXkiM0FDp36gCRi_oiiZ",
"_score": 1.0,
"_source": {
"name": "sdsdsd"
}
}
]
}
}这很明细不符合啊 他不能控制一定要全部写完才插入吗 我age都没插 他也成功了。。难道我要应用程序端来控制吗。。哪位大神帮忙看下
是不是我少了什配置?
...全文
相关推荐
文档ElasticSearch搜索引擎常见面试题总结
文档ElasticSearch搜索引擎常见面试题总结
Elasticsearch索引的架构设计.docx
Elasticsearch索引的架构设计.docx
chrome-mac-x64-152.0.7946.0(Canary).zip
chrome-mac-x64-152.0.7946.0(Canary).zip
chrome-win64-149.0.7827.2(Canary).zip
chrome-win64-149.0.7827.2(Canary).zip
chrome-win32-152.0.7929.0(Canary).zip
chrome-win32-152.0.7929.0(Canary).zip


