es中一些散乱的记载
_index
es是按照索引分片的。所以在使用的时候,最好按照功能划分索引,避免将所有功能集结到一个分片,导致一个分片同时受到多各连接。
比如有功能A,B。同时存在前台和后台两个访问。当我们将A,B划分为两个索引时,功能会分散到两个分片;但是如果我们将A,B化成一个索引,则他会同时受到前后台访问。
这里划分成两个索引,指将两个JSON格式,字段差距很大的功能定义,划分开。
_type
es6之前,一个索引可以多个映射,es6之后,一个索引一个映射。
_sourece
在获取文档时,_source代表
_source=filed1,filed2
修改文档内容的方式
PUT index/type/id
{}
覆盖方式生成新索引
一般需要先获取内容,让用户修改,然后再重新传给es,这之间可能会发生文档修改
POST index/type/id/_update
{}
修改部分字段方式生成新索引
直接将修改的内容传递给es,速度快,发生并发修改可能性小
写一致性原理:
做增删改查的时候,同指定consistency参数,可以指定shard的活跃数
一般主分片和副本不能再一台机器上。相同分片的副本也不能再一台机器上。
one 只要有一个主分片时活跃的就可以执行
all 所有的主分片与副本分片都是活跃的才可以执行
quorum 至少(primary + replica)/2 +1 各分片才可以执行
其中一个重要问题,shard分配不齐全
如:一个主分片,一个副本,但是只有一个机器
(1+1)/2 + 1 = 2 ,所以再使用quorum时,由于无法满足分片数,无法执行
如:一个主分片,三个副本,但是只有两个机器
(1+3)/2 + 1 = 3 ,所以再使用quorum时,由于无法满足分片数,无法执行
在quorum机制不满足时,默认等待一分钟,若还是不满足则退出,不在执行,也可以自己指定timeout,修改等待时间

浙公网安备 33010602011771号