前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ElasticSearch核心知识总结(二)

ElasticSearch核心知识总结(二)

作者头像
老梁
发布2019-09-10 17:04:27
3170
发布2019-09-10 17:04:27
举报
文章被收录于专栏:Java工程师成长之路

如何超出扩容极限,以及如何提升容错性

  1. primary&replica自动负载均衡,6个shared,3个primary,3个replica,随着机器扩容,会被均衡分配到多台机器上
  2. 6个shared,要扩容到9台机器,增加replica shared数量,primary shared数量是不能变得,只能增加replica,变成3个P,6个R,这样可以增加吞吐量
  3. 若从两台服务器到3台服务器,replica需要6个,P还是3个,可以容错两台服务器宕机,否则3个P,3个R能容忍一台服务器宕机

Elasticsearch容错机制,master选举,replica容错,数据恢复

  1. 9 shared,3node,master node宕机->red,自动master选举
  2. replica容错,新master将replica提升为primary shared->yellow
  3. 重启宕机node,master copy replica到该node,使用原有的shared并同步宕机后的修改

初步解析document的核心元数据:_index,_type,_id

  1. _index:
    • 代表document存放在哪个index中
    • 类似的数据放在一个索引,非类似的数据放入不同索引,product index(包含了所有的商品),sales index(包含了所有的商品销售数据)
    • index中包含了很多类似的document:类似指的这些document的fields很大一部分是相同的
    • 索引名称必须是小写的,不能用下划线开头,不能包含逗号
  2. _type:
    • 代表document属于index中的哪个类别
    • 一个索引通常会划分为多个type,逻辑上对index中有些许不同的几类数据进行分类
    • type名称可以是大些或者小写,但是同时不能用下划线开头,不能包含逗号
  3. _id:
    • 代表document的唯一标识,与index和type一起,可以唯一标识和定位一个document
    • 我们可以手动指定document的id,也可以不指定,由es自动创建一个id

指定document_id

  1. 手动指定document_id
    • 应用情况来说,是否满足手动指定document_id的前提:一般来说,是从某些其他的系统中导入一些数据到es时,会采取这种方式,使用系统中已有的数据的唯一标识作为document_id。
    • put /index/type/id
  2. 自动生成document_id
    • post /index/type 使用POST不加id号

_source元数据

  1. 默认情况下,get的时候,request body会全部返回
  2. get /index/type/id?_source=field1,filed2 指定field返回
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何超出扩容极限,以及如何提升容错性
  • Elasticsearch容错机制,master选举,replica容错,数据恢复
  • 初步解析document的核心元数据:_index,_type,_id
  • 指定document_id
  • _source元数据
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档