码迷,mamicode.com
首页 > 其他好文 > 详细

elasticsearch初步学习

时间:2014-12-04 08:52:23      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:des   Lucene   style   io   ar   os   sp   on   文件   

1.什么是elasticsearch?

    elastic是一款开源,可扩展全文搜索和分析的一款构建在lucene之上的框架。它允许我们实时快速的存储,搜索,分析大容量数据。github的搜索好像就是用elasticsearch做的。

2.elasticsearch的一些基本概念

  cluster

1.代表一个集群,集群中有多个节点(每个节点上都是相同的数据)

2.默认cluster名字是elasticsearch,要注意的是一个节点只能属于一个cluster,

而区分cluster就是用名字来区分,因此不通的cluster名字不能相同。

官网下载的elasticsearch-xx文件夹下的data目录下文件夹名字就是cluster的名字。

  node:

1.它是cluster的一部分,用来存储数据,并提供集群的索引和搜索功能。

2.node都会有一个名字,启动时默认是随机生成的名字,但是我们可以自己指定名称。

一个node节点可以配置加到cluster上,默认是加入到elasticsearch这个cluster上面。

3.一般在一个cluster上,我们自己可以配置多个node,如果要配置多个node,

那么可以再启用elasticsearch服务来启动一个进程,

要注意的是新启动的elasticsearch里面配置文件elasticsearch.ymal配置的cluster.name必须一样

在data/elasticsearch下可以发现有nodes文件夹,存在文件夹0,这个文件夹所说的节点.

  index

索引是document的一个集合.

比如我们有一些客户的数据索引,另外还有一个产品的数据索引和订单的数据索引。

一个索引必须用小写来指定名字,名字对于索引,搜索,更新,删除操作是很重要的。

如果很难理解那么我们可以认为这个就是数据库。(如果创建过自己index,比如叫firsttime,

那么在elasticsearch-xx/data/elasticsearch/0/indices下可以发现有firsttime文件夹,

这个文件夹名字就是对应index名字,里面存放了索引数据)

  type:

对于type就是对index的更细的一个划分。我们可以基于index上定义更多的type。

既然我们能把index理解成数据库,那么type就是数据库中的表了。

  document

我们可以把它理解成数据库表的一条条数据(row)。这个是被索引的最基本单元。

  shards

1.分片,如果我们的索引数据很大,超出了硬件存放的单个文件限制(linux下就有限制),

那么会发生问题的,而且也会影响搜索请求的速度。因此elasticsearch就引入了这个shards技术了。

2.当我们创建一个索引,我们能简单的定义很多个分片,

每个分片都有自己搜索,更新,删除等和index一样全部功能的一小块。

分片shards的好处是可以让我们水平分割和扩展我们存放的内容索引,

同时还可以让我们分发和(在多个节点可能)并行跨碎片操作从而提高性能/吞吐量。

3.可以发现在elasticsearch-xx/data/elasticsearch/0/indices/firsttime下

有默认5个shared从0-4

  replicas:

 1.当某个节点某个分片损坏或丢失时可以从副本中恢复。

2.提高es的查询效率,es会自动对搜索请求进行负载均衡。replicas可以设置为0个或者多个。

一旦设置replicas,那么每个shards就会有一个主shards,而replica shards就是对主shards的拷贝

shards和replicas数量在索引创建时生成。当索引index生成后,我们能够动态改变replicas的数量,

但是不能改变shards的数量。

 如果我们在cluster上面有两个节点nodes,比如分片0(有两个,每个节点各有一个分片0),

那么会随机在其中一个节点上设置一个为主分片,另外一个就是replica 分片了,

这样我们将会有5个主要的shards(在主node上面)和另外5个replica shards(在另外一个node上)

总共有10个shards. 

假如有3个nodes,那么会从所有nodes上选出0的一个主分片,还有1-4的每个主分片

总共还是5个主分片,其他的10个就是replica 分片了.这样应该理解了吧.


    




elasticsearch初步学习

标签:des   Lucene   style   io   ar   os   sp   on   文件   

原文地址:http://my.oschina.net/kittyMan/blog/352037

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!