摘要: 1.source元数据_source元数据: 就是说,我们在创建一个document的时候,使用的那个放在request body中的json串,默认情况下,在get的时候,会原封不动的返回。2.定制返回结果定制返回的结果,指定_source中,返回哪些fields。GET /test_index/test_type/1?_source=test_field2,test_field1 阅读全文
posted @ 2019-09-19 19:34 用代码打败魔法 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 1.手动指定document id根据应用情况来说,是否满足手动指定document id的前提,一般来说,是从某些其他的系统中,导入一些数据到es时,会采取这种方式,就是使用系统中已有数据的唯一标识,作为es中document的id。put /index/type/id2.自动生成document idpost /index/type自动生成的id,长度为20个字符,URL安全,base64... 阅读全文
posted @ 2019-09-19 19:21 用代码打败魔法 阅读(2476) 评论(0) 推荐(0) 编辑
摘要: 1._index元数据代表一个document存放在哪个index中类似的数据放在一个索引,非类似的数据放不同索引index中包含了很多类似的document:指这些document的fields很大一部分是相同的。索引名称必须是小写的,不能用下划线开头,不能包含逗号2._type元数据代表document属于index中的哪个类别(type)一个索引通常会划分多个type,逻辑上对index中有... 阅读全文
posted @ 2019-09-19 17:46 用代码打败魔法 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 1.图解Elasticsearch容错机制:master选举,replica容错,数据恢复9 shard, 3 nodemaster node宕机,自动master选举,redreplica容错:新master将replica提升为primary shard , yellow重启宕机node, master copy replica 到该node,使用原有的shard并同步宕机后的修... 阅读全文
posted @ 2019-09-19 17:09 用代码打败魔法 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 1.图解横向扩容过程,如何超出扩容极限,以及如何提升容错性primary&replica自动负载均衡,6个shard,3个primary,3个replica每个node有更多的shard,IO/CPU/Memory资源给每个shard分配更多,每个shard性能更好扩容的极限,6个shard(3 primary,3 replica),最多扩容到6台机器,每个shard可以占用单台服务器的所有资源,... 阅读全文
posted @ 2019-09-14 18:45 用代码打败魔法 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 1.图解2个node环境下replica shard是如何分配的replica shard分配primary ---> replica同步读请求:primary/replica 阅读全文
posted @ 2019-09-14 18:19 用代码打败魔法 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1.shard&replica机制再次梳理index包含多个shard每个shard都是一个最小工作单元,承载部分数据,lucene实例,完整的建立索引和处理请求的能力增减节点时,shard会自动在node中负载均衡primary shard 和 replica shard ,每个document肯定只存在于某一个primary shard 以及其对应的replica shard中,不可能存在于多... 阅读全文
posted @ 2019-09-14 15:26 用代码打败魔法 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 1.Elasticsearch对复杂分布式机制的透明隐藏特性Elasticsearch是一套分布式的系统,分布式是为了应对大数据量隐藏了复杂的分布式机制分片机制,cluster discovery(集群发现机制),shard负载均衡 ,shard副本,请求路由,集群扩容,shard重分配2.Elasticsearch的垂直扩容与水平扩容垂直扩容:采购更强大的服务器,成本非常高昂,而且存在瓶颈。水平... 阅读全文
posted @ 2019-09-14 15:15 用代码打败魔法 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1.计算每个tag下的商品数量GET /ecommerce/product/_search{ “aggs”:{ “group_by_tags”:{ “terms”:{“field”:”tags”} } }}将文本field的fielddate属性设置为truePUT /ecommerce/_mapping/pro... 阅读全文
posted @ 2019-09-14 12:52 用代码打败魔法 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 1.query string search GET /ecommerce/product/_searchtook:耗费了几毫秒timeout:是否超时_shards:数据拆成了5个分片,所以对于搜索请求,会打到所有的primary shard(或者是它的某个relica shard也可以)hist.total:查询结果的数量,4个totalmax_score:score的含义,就是doc... 阅读全文
posted @ 2019-09-14 11:42 用代码打败魔法 阅读(227) 评论(0) 推荐(0) 编辑