美文网首页
ElasticSearch整理

ElasticSearch整理

作者: 我就是小政政 | 来源:发表于2019-11-06 15:49 被阅读0次

    基本介绍

    image.png
    image.png
    image.png
    image.png
    image.png
    image.png
    image.png

    Shard机制

    image.png
    image.png
    image.png
    image.png

    分词原理

    image.png
    image.png
    image.png
    image.png
    image.png
    image.png
    image.png

    路由原理

    image.png

    存储原理

    image.png
    image.png
    image.png
    image.png
    image.png
    image.png
    image.png
    image.png

    常用api介绍

    image.png
    image.png
    image.png
    image.png
    image.png
    image.png

    Filter Cache

    image.png

    一些优化

    image.png

    历史数据

    使用es内置脚本局部更新
    #第一步,创建megacorp employee 10的文档,内容为
    PUT /megacorp/employee/10/_create
    {
        "name": "小草",
        "age": 16,
        "address": "北京",
        "tags": [
          "开发同学",
          "前端同学",
          "测试同学"
        ]
    }
    
    #第二步,将文档内容+1
    POST /megacorp/employee/10/_update
    {
       "script": {
          "inline": "ctx._source.age+=1"
       }
    }
    
    #第三步,将文档内容中的数组,添加一个 “运维同学”
    POST /megacorp/employee/10/_update
    {
       "script" : {
         "inline": "ctx._source.tags.add(params.new_tag)",
         "params": {
           "new_tag": "运维同学"
         }
       }
    }
    
    #第四步,查看文档内容
    GET /megacorp/employee/10
    
    #重新覆盖文档内容
    POST /megacorp/employee/10/_update
    {
      "doc": {
        "name": "小草",
        "age": 16,
        "address": "北京",
        "tags": [
          "开发同学",
          "前端同学",
          "测试同学"
        ]
      }
    }
    

    创建后文档内容:

    {
      "_index": "megacorp",
      "_type": "employee",
      "_id": "10",
      "_version": 7,
      "found": true,
      "_source": {
        "name": "小草",
        "age": 16,
        "address": "北京",
        "tags": [
          "开发同学",
          "前端同学",
          "测试同学"
        ]
      }
    }
    

    最终文档内容:

    {
      "_index": "megacorp",
      "_type": "employee",
      "_id": "10",
      "_version": 9,
      "found": true,
      "_source": {
        "name": "小草",
        "age": 17,
        "address": "北京",
        "tags": [
          "开发同学",
          "前端同学",
          "测试同学",
          "运维同学"
        ]
      }
    }
    

    可以发现age字段中的值已经+1,tags字段中的值也添加了一个“运维同学”。

    阿里es集群参考规格

    规格 最大节点数(计算公式:集群最大节点数 = 单节点CPU * 5) 单节点最大磁盘(查询)(计算公式:单节点Mem(G) * 10) 单节点最大磁盘(日志)(计算公式:单节点Mem(G) * 50) 单节点最大磁盘(通常)(计算公式:单节点Mem(G) * 30)
    2C 4G 10 (2核*5) 40 GB (4g内存*10) 200 GB 100 GB
    2C 8G 10 80 GB 400 GB 200 GB
    4C 16G 20 160 GB 800 GB 512 GB
    8C 32G 40 320 GB 1.5 TB 1 TB
    16C 64G 50 640 GB 2 TB 2 TB
    • 建议在小规格节点下,单个shard大小不要超过30GB。对于更高规格的节点,单个shard大小不要超过50GB。
    • 对于日志分析或者超大索引场景,建议单个shard大小不要超过100GB。
    • shard的个数(包括副本)要尽可能等于节点数,或者是节点数的整数倍。
    • 通常建议单个节点上同一索引的shard个数不要超5个。

    添加模板

    每天都回自动创建一个索引

    相关文章

      网友评论

          本文标题:ElasticSearch整理

          本文链接:https://www.haomeiwen.com/subject/qebubctx.html