zoukankan      html  css  js  c++  java
  • ES设计及规范

     

    一、版本

     

    推荐6.7或者7.4版本

     

    二、配置

     

    节点:5节点(5个主分片、5个备分片)

     

    大小:每个节点500G(原因:目前存量不超过30G,一年超过50G,该资源可支撑3年以上)

     

     

    三、索引、映射设计规范

     

    1、文档自动映射关掉:即"dynamic":"false"

     

                  true(默认):动态映射,会给陌生字段自定义mapping(即会插入新的字段,且能根据新的字段索引);

     

                  false:静态映射,陌生字段能插入,但是不会给陌生字段自定义mapping(即能插入新字段,不能根据新字段索引);

     

                  strict:严格模式,不允许陌生字段插入              

     

    2、ES索引自动刷新默认是1s,实时刷新比1s刷新性能下降10倍左右
    3、ES在使用时尽量使用的别名

     

          当使用别名时候可以支持字段名或者字段类型的修改,具体方案如下:

     

          原索引:old_index  

     

          给原索引创建一个别名:POST _aliases { "actions": [ { "add": { "index": "old_index", "alias": "old_index_alias" } } ] }

     

          创建新的索引:new_index

     

          通过_reindex将old_index的数据同步到new_index上面

     

         再将别名映射到新的索引

     


    4、_id在插入数据时候使用业务主键(比如:动态ID+评论ID+评论类型)
    5、数据迁移尽量使用dataworks,比自己写代码快的多
    6、ID(比如动态ID)一般建议为keyword类型(查询比long类型快很多,但是不支持比较大小和范围查询),如果想要做范围查询或者比较大小,可再额外增加一个字段,字段类型定义为Long类型的

     

    7、开放索引的只读设置:

     

               PUT _settings { "index": { "blocks": { "read_only_allow_delete": "false" } } }

     

    8、批量写ES可以抗住1w+QPS没问题'

     

    9、字段类型设计原则:

     

         1)字段建议使用keyword类型,查询快,支持排序

     

         2)content字段要用text字段,支持分词,不支持排序

     

         3)时间使用long类型,支持范围查询,建议到精确到分钟,会提高查询效率

     

     

     

     

  • 相关阅读:
    112th LeetCode Weekly Contest Validate Stack Sequences
    112th LeetCode Weekly Contest Minimum Increment to Make Array Unique
    C# 有关系统音量的操作
    C# 关于时区的操作
    WordPress 设置GeoIP数据库目录权限时错误解决方案
    AtCoder Beginner Contest 113 C
    AtCoder Beginner Contest 113 B
    AtCoder Beginner Contest 113 A
    将Tomcat注册为Windows服务
    常用的调试方法
  • 原文地址:https://www.cnblogs.com/wzk-0000/p/13214912.html
Copyright © 2011-2022 走看看