ElasticSearch——数据建模最佳实践

Posted caoweixiong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch——数据建模最佳实践相关的知识,希望对你有一定的参考价值。

 

 

如何建模

技术图片

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——数据建模最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

干货 | Elasticsearch 8.X 实战视频合集(80 小时+)

干货 | Elasticsearch 8.X 实战视频合集(80 小时+)

DWH 建模最佳实践:二维使用的日期键

解读华为云GaussDB(for Influx):最佳实践之数据建模

Elasticsearch最佳实践之Index与Shard设计

Elasticsearch最佳实践之Index与Shard设计