elasticsearch基本概念

来源:互联网 发布:淘宝订餐 编辑:程序博客网 时间:2024/05/20 11:31

http://blog.csdn.net/zhufenglonglove/article/details/51422947

http://blog.csdn.net/stark_summer/article/details/48782953

http://www.jianshu.com/p/492d4311ed04

cluster(集群)

集群包含了一个或者多个拥有相同集群名称的节点。每个集群有一个主节点,这是由集群自动选择出来的,并且在当前主节点挂掉时被其他节点取代。

node(节点)

节点就是一个ES的运行实例,属于一个集群。节点启动时会使用单播(多播)来发现已有的拥有相同名称的集群,并试着加入那个集群。

ES节点调优与脑裂

http://www.cnblogs.com/richaaaard/p/5231748.html

http://blog.csdn.net/wang_zhenwei/article/details/50515459

index(索引)

索引只是一个把一个或多个分片与副本分组在一起的逻辑空间。

索引(index)如同关系数据库中的数据库。索引有一个或多个类型(type)映射。索引是一个逻辑命名空间,该空间可以对应于一个或者多个主shard,并且有零个或多个从shard。

type(类型)

在Elasticsearch中,一个索引对象可以存储很多不同用途的对象。例如,一个博客应用程序可以保存文章和评论。

类型如同关系数据库中的表。每个类型有一个字段的列表,该列表可以被指定为该类型的文档。映射则定义了文档的每个字段将如何被分析。

文档类型让我们轻易地区分单个索引中的不同对象。每个文档可以有不同的结构

shard(分片)

当有大量的文档时,由于内存的限制、硬盘能力、处理能力不足、无法足够快地响应客户端请求等,一个节点可能不够。在这种情况下,数据可以分为较小的称为分片(shard)的部分(其中每个分片都是一个独立的Apache Lucene索引)。每个分片可以放在不同的服务器上,因此,数据可以在集群的节点中传播。

当你查询的索引分布在多个分片上时,Elasticsearch会把查询发送给每个相关的分片,并将结果合并在一起,而应用程序并不知道分片的存在。此外,多个分片可以加快索引。

primary shard、replica shard(主从分片)

为了提高查询吞吐量或实现高可用性,可以使用分片副本。副本(replica)只是一个分片的精确复制,每个分片可以有零个或多个副本。换句话说,Elasticsearch可以有许多相同的分片,其中之一被自动选择去更改索引操作。这种特殊的分片称为主分片(primary shard),其余称为副本分片(replica shard)。在主分片丢失时,例如该分片数据所在服务器不可用,集群将副本提升为新的主分片

ES分片交互过程分析https://my.oschina.net/galenz/blog/422189

mapping(映射)

用于定义索引结构,每个索引都有一个映射,映射定义了索引中每个类型,加上一堆索引范围内的设置。映射可以显式定义,或者会在文档被索引时自动产生

document(文档)

存储在Elasticsearch中的主要实体叫文档(document)。文档类似于关系数据库中的表中的行。每个文档被存放在一个索引下面,拥有类型和ID。被索引的原始JSON文档会被存放在_source字段中。

文档由多个字段组成,相同字段必须有相同类型,每个字段可能多次出现在一个文档里,这样的字段叫多值字段(multivalued)。

从客户端的角度看,文档是一个JSON对象。每个文档存储在一个索引中并有一个Elasticsearch自动生成的唯一标识符和文档类型。文档需要有对应文档类型的唯一标识符,这意味着在一个索引中,两个不同类型的文档可以有相同的唯一标识符。

id(ID)

文档的ID标识了一个文档。文档的index/type/id肯定是唯一的。如果没有ID被提供,那么它会被自动生成

field(字段)

文档由多个字段组成,每个字段有类型,如文本、数值、日期等。字段类型也可以是复杂类型,一个字段包含其他子文档或者数组。字段类型在Elasticsearch中很重要,因为它给出了各种操作(如分析或排序)如何被执行的信息。幸好,这可以自动确定,然而,我们仍然建议使用映射。与关系型数据库不同,文档不需要有固定的结构,每个文档可以有不同的字段,此外,在程序开发期间,不必确定有哪些字段。当然,可以用模式强行规定文档结构。

term(项)

项是在ES中被索引的确切的值。项foo、Foo、FOO不是等价的。项(确切值)可以通过term查询而被搜索到。请查看文本(term)和分析(analysis)。

text(文本)

文本(或者全文)是一般的非结构化文本。文本默认地会被分析成项(term),项是直接存放在索引中的。文本的字段需要在索引时被分析,从而可以作为全文可搜索的,而在全文查询中的关键词(keyword)必须在搜索时进行分析来产生(和检索)在索引时生成的同样的项(term)。

0 0
原创粉丝点击