elasticsearch(以下简称es)是一款开源的搜索引擎,基于apach lucene。最近在做nlp的时候顺便研究一下。

下面是官方列举的术语解释

Near Realtime

接近实时的查询,通常情况下,延迟在1s以内

Cluster

一个集群由1个或者多个节点组成,这些节点提供整个数据和索引,性能来源于每个节点。一个集群有一个唯一的名字,默认为“elasticsearch”,

Node

一个node启动的时候分配一个唯一的id(UUID),自动会加入名为“elasticsearch”的cluster,前提是网络没有问题,一个node只能加入一个集群。

Index

一个index是一些有相似特征的documents集合,比如有一个顾客类的index,一个生产类的index,有一个订单类的index。index必须都是小写的

Type

一个index可以定义出多个type,一个type是一个逻辑的类别或者分区,并且其语义完全取决于自己,一般而言一个type定义了包含多个fields的documents。

Document

一个document是可以被索引信息的基础单元,尽管一个document在物理上是属于index的,但事实上,一个document必须被索引或者分配到一个index里的type。

Shard&Replicas

一个index可以存储大量的数据,并且超过单节点的限制。例如,单个index可能含有几十亿个documents,占据了1TB的磁盘空间,这就可能导致单个node可能没有这么大的空间,或者在查询的时候会很慢。

为了解决这个问题,es给出了shard的概念,将一个index拆分成多个部分。创建的index就可以申明shard的数量,每个shard都是拥有完整和独立的index。

Sharding的两个重要点:

1.shard允许你对大量数据做横向切分

2.shard允许通过多个shards分布式并发的操作,从而提升性能和吞吐量

Shard是如何分布的以及多个它们的documents是如何被合并都由es管理,这些对使用者都是透明的。

关于容错,es通过replica来解决,replica是index下的shard的副本。

Replicaing的两个重要点:

1.提供了HA。需要提醒的是,replica和shard不应该在同一个node

2.搜索可以在所有的replica并发处理

你可以在创建的时候设置index的shard和replica数量,但是之后,你只能更改replica的数量,而不能更改shard的数量.

Es的默认配置为,5个shards和1个replica,如果你的cluster有两个及以上的node,则一共有10个shards(5 primary shards,5 replica shards)

其他

Es的一个shard就是lucene的index

总结

逻辑上,index、type、documents作为namespace的存在,可以充分表现Restful风格的接口

物理上,index可以看做是数据库中的库,通过shard(类似partition)做HA和高并发

参考资料

//es官方介绍

https://www.elastic.co/guide/en/elasticsearch/reference/5.2/_basic_concepts.html

elasticsearch系列(一) 术语的更多相关文章

  1. elasticsearch系列(三)分表分库

    首先ES没有库和表的概念,只有index,type,document(详细术语可以看ES的系列一 http://www.cnblogs.com/ulysses-you/p/6736926.html), ...

  2. elasticsearch系列(五)score

    概述 score在ES中有着很重要的作用,有了它才有了rank,是验证文档相关性的关键数据,score越大代表匹配到的文档相关性越大 官方解释 查询的时候可以用explain来展示score的计算过程 ...

  3. Elasticsearch系列(1):认识Elasticsearch

    官方定义 Elasticsearch 是一个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据. 它被用作全文检索.结构化搜索.分析以及这三个功能的组合. Elasti ...

  4. Elasticsearch 系列文章汇总(持续更新...)

    系列文章列表 Query DSL Query DSL 概要,MatchAllQuery,全文查询简述 Match Query Match Phrase Query 和 Match Phrase Pre ...

  5. Elasticsearch系列(五)----JAVA客户端之TransportClient操作详解

    Elasticsearch JAVA操作有三种客户端: 1.TransportClient 2.JestClient 3.RestClient 还有种是2.3中有的NodeClient,在5.5.1中 ...

  6. elasticsearch系列(三)库表理解

    首先ES没有库和表的概念,只有index,type,document(详细术语可以看ES的系列一 http://www.cnblogs.com/ulysses-you/p/6736926.html), ...

  7. elasticsearch系列(四)部署

    本文采用tar包的方式部署es 准备jdk8的环境 5.4.0的es依赖jdk8及以上版本 下载linux版的jdk jdk-8u121-linux-x64.tar.gz tar -zvxf jdk- ...

  8. elasticsearch系列一:elasticsearch(ES简介、安装&配置、集成Ikanalyzer)

    一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...

  9. elasticsearch系列八:ES 集群管理(集群规划、集群搭建、集群管理)

    一.集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个 ...

随机推荐

  1. Spring事务管理源码分析

    Spring事务管理方式 依据Spring.xsd文件可以发现,Spring提供了advice,annotation-driven,jta-transaction-manager3种事务管理方式.详情 ...

  2. 【2017-03-09】SQL Server 数据库基础、四种约束

    一.数据库和内存的区别 数据库:一些存储在硬盘上的数据文件 内存:计算机临时存储的一些数据 二.常用数据库 .Net - SQL Server PHP - MySql Java - Oreacl 三. ...

  3. Struts2学习笔记③

    今天把这两天看书体会的Struts的运行原理记录一下:其实Struts官方提供了一张图可以视为景点,几乎每一个将Struts的课程都会使用: 上面的图里面的struts核心过滤器已经更换为Struts ...

  4. 10分钟精通SharePoint-搜索

    大势所趋随着企业内容和文档数量的骤增,快速定位到所需材料和内容已经迫不及待,这也是所有企业所面临的共同的挑战,应这个大的趋势,"搜索"闪亮登上了企业协作(SharePoint)舞台 ...

  5. sass 与 less 的区别与学习

    一直使用的都是sass,公司提出新需求要用less,看了一下less的官方文档,感觉记不住.在这我想用与sass的比较学习,加深印象.也希望可以帮助到一些人. 一.安装sass与less sass基于 ...

  6. yii2.0框架where条件的使用

    在yii框架中,where条件的使用多种多样,下面就和大家介绍几种常用有效的使用方法 1. ['type' => 1, 'status' => 2] //等于 (type = 1) AND ...

  7. 【记录】解析具有合并单元格的Excel

    最近公司让做各种数据表格的导入导出,就涉及到电子表格的解析,做了这么多天总结一下心得. 工具:NOPI 语言:C# 目的:因为涉及到导入到数据库,具有合并单元格的多行必然要拆分,而NPOI自动解析的时 ...

  8. oracle学习 笔记(1)

    题记:之前用的是SQL server数据库,现因需求使用Oracle数据库,写此博客来记录学习: 一.表空间管理.用户管理.给用户授权 1.在Oracle中每创建数据库会在系统服务中多一个数据库实例, ...

  9. Rsync的工作方式

    Rsync的工作方式(来自网络) 1)拷贝本地文件: 当SRC和DES路径信息中不包含冒号":"分隔符时,就启用这种工作模式: [root@cmmailapp1 /]# rsync ...

  10. pyqt样式表语法笔记(中)

    pyqt样式表语法笔记(中) pyqt QSS python 样式表 一.弹窗 在日常的各种桌面软件的使用中,我们都会碰到弹窗.例如注册,登录的时候,会有相应的信息弹窗,这里就以信息收集弹窗为例进行弹 ...