码迷,mamicode.com
首页 > 其他好文 > 详细

ElasticSearch——数据建模最佳实践

时间:2019-12-09 13:54:04      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:无法   http   ast   update   upd   enable   内存   cse   特性   

 

 

如何建模

技术图片

mapping 设计非常重要,需要从两个维度进行考虑:

  • 功能:搜索、排序、聚合
  • 性能:存储的开锁、内存的开销、搜索的性能

mapping 注意事项:

  • 加入新字段很容易(必要时需要 update_by_query)
  • 更新删除字段不允许(需要 reindex 重建数据)

 

 

最佳实践

1、不允许自动新增字段,将 dynamic 设置成 strict。默认为 true;

2、不需要分词的字段,将 type 设置成 keyword。默认使用了多字段特性,text、keyword这2种类型都有;

3、不需要检查的字段,将 index 设置成 false。默认为 true;

4、不需要排序和聚合的字段,将 doc_values 设置成false。默认为 true;

5、不需要检查、排序、聚合的字段,将 enable 设置成 false,仅做存储;

6、type = text 的字段,默认不可以排序,如需要排序,将 fielddata 设置成 true,默认为 false;

7、单个索引避免过多字段,默认最大值为1000;

8、避免空值引起的聚合不准确的问题;

9、避免使用正则查询;

10、尽量不要设计成索引关联,可冗余多一些字段,以空间换时间,如实在无法避免,按以下方式处理:

技术图片

 

 

 

 

 

 

ElasticSearch——数据建模最佳实践

标签:无法   http   ast   update   upd   enable   内存   cse   特性   

原文地址:https://www.cnblogs.com/caoweixiong/p/12010353.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!