ES服务器dynamic=strict模式下索引新增数据优化求助

董哥007 2021-04-30 06:02:44
大家知道es里面有个自动mappings 就是你添加索引数据的时候 es底层给你自动给这个索引设置了mapping..

这样也不好 比如我业务上有数据类型要求 我们还是需要去自己手动设置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都没插 他也成功了。。难道我要应用程序端来控制吗。。哪位大神帮忙看下
是不是我少了什配置?
...全文
182 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧