ElasticSearch核心知识总结(二)
如何超出扩容极限,以及如何提升容错性
- primary&replica自动负载均衡,6个shared,3个primary,3个replica,随着机器扩容,会被均衡分配到多台机器上
- 6个shared,要扩容到9台机器,增加replica shared数量,primary shared数量是不能变得,只能增加replica,变成3个P,6个R,这样可以增加吞吐量
- 若从两台服务器到3台服务器,replica需要6个,P还是3个,可以容错两台服务器宕机,否则3个P,3个R能容忍一台服务器宕机
Elasticsearch容错机制,master选举,replica容错,数据恢复
- 9 shared,3node,master node宕机->red,自动master选举
- replica容错,新master将replica提升为primary shared->yellow
- 重启宕机node,master copy replica到该node,使用原有的shared并同步宕机后的修改
初步解析document的核心元数据:_index,_type,_id
- _index:
- 代表document存放在哪个index中
- 类似的数据放在一个索引,非类似的数据放入不同索引,product index(包含了所有的商品),sales index(包含了所有的商品销售数据)
- index中包含了很多类似的document:类似指的这些document的fields很大一部分是相同的
- 索引名称必须是小写的,不能用下划线开头,不能包含逗号
- _type:
- 代表document属于index中的哪个类别
- 一个索引通常会划分为多个type,逻辑上对index中有些许不同的几类数据进行分类
- type名称可以是大些或者小写,但是同时不能用下划线开头,不能包含逗号
- _id:
- 代表document的唯一标识,与index和type一起,可以唯一标识和定位一个document
- 我们可以手动指定document的id,也可以不指定,由es自动创建一个id
指定document_id
- 手动指定document_id
- 应用情况来说,是否满足手动指定document_id的前提:一般来说,是从某些其他的系统中导入一些数据到es时,会采取这种方式,使用系统中已有的数据的唯一标识作为document_id。
- put /index/type/id
- 自动生成document_id
- post /index/type 使用POST不加id号
_source元数据
- 默认情况下,get的时候,request body会全部返回
- get /index/type/id?_source=field1,filed2 指定field返回
ElasticSearch核心知识总结(二)的更多相关文章
- ElasticSearch核心知识 -- 索引过程
1.索引过程图解: api向集群发送索引请求,集群会使用负载均衡节点来处理该请求,如果没有单独的负载均衡点,master节点会充当负载均衡点的角色. 负载均衡节点根据routing参数来计算要将该索引 ...
- c++11-17 模板核心知识(二)—— 类模板
类模板声明.实现与使用 Class Instantiation 使用类模板的部分成员函数 Concept 友元 方式一 方式二 类模板的全特化 类模板的偏特化 多模板参数的偏特化 默认模板参数 Typ ...
- ElasticSearch核心知识总结(一)es的六种搜索方式和数据分析
es的六种搜索方式 query string search GET /ecommerce/product/_search //查询所有数据 { "took": 4,//耗费几毫秒 ...
- elasticsearch核心知识梳理
https://blog.csdn.net/laoyang360/article/details/52244917
- Elasticsearch核心知识大纲脑图
- c++11-17 模板核心知识(十二)—— 模板的模板参数 Template Template Parameters
概念 举例 模板的模板参数的参数匹配 Template Template Argument Matching 解决办法一 解决办法二 概念 一个模板的参数是模板类型. 举例 在c++11-17 模板核 ...
- c++11-17 模板核心知识(十五)—— 解析模板之依赖型类型名称与typename Dependent Names of Types
模板名称的问题及解决 typename规则 C++20 typename 上篇文章c++11-17 模板核心知识(十四)-- 解析模板之依赖型模板名称 Dependent Names of Templ ...
- Elasticsearch入门教程(二):Elasticsearch核心概念
原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:ht ...
- Docker 与 K8S学习笔记(二)—— 容器核心知识梳理
本篇主要对容器相关核心知识进行梳理,通过本篇的学习,我们可以对容器相关的概念有一个全面的了解,这样有利于后面的学习. 一.什么是容器? 容器是一种轻量级.可移植.自包含的软件打包技术,使应用程序可以在 ...
随机推荐
- ccc切割刚体
// http://www.emanueleferonato.com/2011/08/05/slicing-splitting-and-cutting-objects-with-box2d-part- ...
- jQuery 新添加元素事件绑定无效
jQuery中事件绑定,大多使用on就足够了. 但是对于新添加的元素 on 的绑定事件 会不起作用. 因为 append 中的 节点是在整个文档加载之后才添加的,页面并不会为未来的元素初始化添加点击事 ...
- servlet中的请求响应与重定向区别
一.概念 请求响应(转发):将客户端请求转发另一个servlet或者jsp页面------------------------getRequestDispatcher()方法 重定向: 返回一个连接给 ...
- java虚拟机--->>程序计数器
程序计数器是一块较小的内存空间,他可以看做是当前线程所执行的行号指示器.在虚拟机的概念模型(仅是概念模型,各种虚拟机可能会通过一些更高效率的方式去实现)里,字节码解释器工作室就是通过改变这个计数器的值 ...
- 获取MessageBox按钮本地字符串(OK、Cancel、Yes、No等)
问题仍然由定制MessageBox引发. 定制MessageBox,虽加入自定义些东西,但仍然希望,最大限度接近系统原生框.碰到的问题,就是其钮文本. 即如MessageBox.Show()之Mess ...
- java基础-- 之类型转换 和 一些运算符
--- 首先 看一个 Scanner 类 import java.util.Scanner; public class TestScanner { public static void ma ...
- [leetcode]19. Remove Nth Node From End of List删除链表倒数第N个节点
Given a linked list, remove the n-th node from the end of list and return its head. Example: Given l ...
- python基础之Day12
一.闭包函数 什么是闭包函数? 闭:函数是一个内部函数 包:指的是该函数包含对外部作用域(非全局作用域)名字的引用. 给函数传值的方式有两种: 1.使用参数直接给函数传值 2.包给函数 1 2 3 4 ...
- Spring MVC 的 Converter 和 Formatter
Converter 和 Formatter 都可用于将一种对象类型转换成另一种对象类型. Converter 是通用元件,可以将一种类型转换成另一种类型,可以在应用程序中的任意层中使用: Format ...
- copy other
DELPHI基础开发技巧 ◇[DELPHI]网络邻居复制文件 uses shellapi; copyfile(pchar('newfile.txt'),pchar('//computername/di ...