摘要: Elasticsearch版本:6.0一、Elasticsearch计算分片位置的公式shard = hash(routing) % number_of_primary_shards解释:routing 是一个可变值,默认是文档的 _id ,也可以设置成一个自定义的值。 routing 通过 hash 函数生成一个数字,然后这个数字再除以 number_of_primary_shards (主分片... 阅读全文
posted @ 2017-11-27 23:06 O'Neal 阅读(1659) 评论(0) 推荐(0)
摘要: Elasticsearch版本:6.0 Elasticsearch基于Lucene,采用倒排索引写入磁盘,Lucene引入了按段搜索的概念,来动态更新索引。 一个Lucene索引包含一个提交点和三个短,如图: 关于索引和分片 一个Lucene索引在Elasticsearch成为分片,一个Elasticsearch索引是分片的集合。 Elasticsearch在索引中搜... 阅读全文
posted @ 2017-11-27 22:54 O'Neal 阅读(6770) 评论(1) 推荐(1)
摘要: Elasticsearch版本:6.0一、ES的集群 由一个或多个相同cluster.name的节点组成,共同承担数据和负载的压力。 被选举的主节点将负责管理集群范围内的所有变更,如增加/删除索引、增加/删除节点等,但是不涉及文档级别变更和搜索等操作。 请求可以发送到集群中的任何节点上,每个节点都知道任意文档所处的位置,并且能把请求直接转发到存储我们所需文档的节点,它都能负责从包... 阅读全文
posted @ 2017-11-27 22:20 O'Neal 阅读(3448) 评论(0) 推荐(0)
摘要: Elasticsearch版本:6.0 为了避免并发修改的冲突问题,数据库中,经常用悲观锁和乐观锁来控制并发问题,而Elasticsearch使用乐观锁。如果源数据在读写过程中被修改,更新将失败,应用程序可以决定进行重试更新、使用新数据、把情况报告给用户等操作。Elasticsearch的乐观锁实现原理Elasticsearch是分布式的,文档创建、更新、删除时,新文档必须复制到集群的其他节... 阅读全文
posted @ 2017-11-27 21:43 O'Neal 阅读(230) 评论(0) 推荐(0)
摘要: Elasticsearch版本:6.0一、文档一个文档不仅包含数据,也包含元数据,三个必须的元数据如下_index:具有共同特性分到一起的文档集合,标示了文档的存放位置; 名字小写,不以下划线开头,不包含逗号。_type:表示文档的类型,在索引中对数据进行逻辑分区; 名字大写或小写,不以下划线或句号开头,不包含逗号,并且长度限制256个字符。_id:文档的唯一标识,和_index和_t... 阅读全文
posted @ 2017-11-27 21:15 O'Neal 阅读(370) 评论(0) 推荐(0)