[ES] 基础概念
Elasticsearch是基于Luence实现的一款搜索引擎,支持分布式和集群,并且搜索近实时,主要用于搜索和数据分析
索引 index
- 可以理解为数据库中的database,存储的是实际数据,因为ES是以Luence为基础的,Luence索引是一种倒排索引结构,不同于数据库中的表面向行数据,索引是面向词而非面向文档,如下图是一个简单的存储结构:

- 一个索引由多个段组成,段的特性:写一次读多次,删除段中的文档本质并不能立即被删除,只有段合并的时候,Luence才会决定将其删除
- 索引命名必须是小写
主分片 primary shard
- 一个索引可以分为一个或者多个分片,存放在一台或者多台服务器上,每个分片都是独立的索引,提高了水平扩展能力,一旦创建好索引,分片数量无法更改
副本分片 replica shard
- 每个主分片可以拥有多个副本分片,每个副本分片都是主分片的完整拷贝,副本提高了容错率和查询吞吐量,副本数量可以在创建好索引后更改
类型 type
- 索引的逻辑分区,和文档ID一起用于标识文档
文档 document
- 相当于数据库中的行数据,存储在es中的主要实体,es为每个文档自动生成唯一标识符object_id
字段 field
- 多个字段组成一个文档
注意:一个索引的所有文档类型中对于具有相同名称的字段必须是同一种数据类型,与SQL SERVER不同,同一数据库中不同表中相同名称的列数据类型可以不一样
词 term
- 一个搜索单元
标记 token
- 词的文本、开始和结束的偏移量以及类型组成
何为分析?
- 一个文档如何转换为倒排索引,一个查询文本如何转化为可被搜索的词?这个转化过程就叫分析
负责分析的是谁?
- 分析器:由一个分词器和零个或多个标记过滤器和零个或多个字符映射器组成
分析的过程
- 首先,字符映射器对未经分析的文本进行处理,比如去除HTML标签
- 其次,分词器把文本分割成多个标记
- 最后,多个标记过滤器按顺序逐个对标记进行处理
映射Mapping
- 针对字段制定一些规则,比如某个字段是什么类型,是否需要经过分析存储等
节点 node
- 形成集群的每个ES服务器就是一个节点
集群
- 多个具有同名cluster name的ES节点构成集群
分布式
- 一个索引可以拆分成多个分片存储在多个节点上
ES核心类型
- string:字符串
- byte:字节数值
- short:短整型数值
- integer:整型数值
- long:长整型数值
- float:浮动型数值
- double:双精度数值
- boolean:布尔类型
- binary:二进制类型Base64
- date:日期 默认yyyy-MM-dd
- ip:ip地址类型
[ES] 基础概念的更多相关文章
- 白日梦的ES笔记三:万字长文 Elasticsearch基础概念统一扫盲
目录 一.导读 二.彩蛋福利:账号借用 三.ES的Index.Shard及扩容机制 四.ES支持的核心数据类型 4.1.数字类型 4.2.日期类型 4.3.boolean类型 4.4.二进制类型 4. ...
- JavaScript--我发现,原来你是这样的JS(基础概念--躯壳,不妨从中文角度看js)
介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第二篇(基础概念--躯壳篇),有着部分第三章的知识内容,当然其中还有我个人的理解.红宝书这本书可以说是难啃的,要看完不容易,挺厚的, ...
- JS--我发现,原来你是这样的JS(二)(基础概念--躯壳篇--不妨从中文角度看js)
一.介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第二篇(基础概念--躯壳篇),有着部分第三章的知识内容,当然其中还有我个人的理解. 红宝书这本书可以说是难啃的,要看完不容易,挺 ...
- ELK&ElasticSearch5.1基础概念及配置文件详解【转】
1. 配置文件 elasticsearch/elasticsearch.yml 主配置文件 elasticsearch/jvm.options jvm参数配置文件 elasticsearch/log4 ...
- cocos2d-x-3.6 引擎基础概念
先讲一下引擎里面几个重要的基础概念:导演.节点,场景.层,精灵. 当然实际开发人员会碰到非常多其它概念,不过不要紧.有了这些基础概念,后面自己学习起来就easy多了. 节点(Node)是cocos2d ...
- es篇-es基础
点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. es基础知识 es和solr一样,都是基于Lucene的全文检索数据库 ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- TCP/IP基础概念及通信过程举例
TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...
- Jmeter基础之---jmeter基础概念
Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...
随机推荐
- CF2.D
D. Santa Claus and a Palindrome time limit per test 2 seconds memory limit per test 256 megabytes in ...
- call和bind改变的上下文环境
这周自我学习的时间很宽裕.正巧一直对call和apply不甚理解(虽然bind还经常用到,仅仅是知道这么用有这个效果= =,而不知为何有这个效果),下午就自己写写demo,帮助自己理解. functi ...
- 下载apk文件浏览器会直接打开并显示乱码的问题
今天同事反映他的apk文件在自己的老项目中下载有问题:下载apk文件浏览器会直接打开并显示乱码,在别的项目中就没有问题. 后分析response的content-type发现,老项目的类型是text/ ...
- JDBC增删改查简单测试
首先编写一个entity以便与数据库表文件相对应 lyTable.java public class LyTable implements java.io.Serializable { private ...
- Quartz 2D在ios中的使用简述一:坐标体系
Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境,官方文档:Quartz 2D Programming Guide. 一.坐标体系 这样的坐标体系就导致我们使用Quart ...
- Azure Redis Cache
将于 2014 年 9 月 1 日停止Azure Shared Cache服务,因此你需要在该日期前迁移到 Azure Redis Cache.Azure Redis Cache包含以下两个层级的产品 ...
- ABP框架理论学习之Hangfire集成
返回总目录 Hangfire是一个综合的后台工作管理者.你可以将Hangfire集成到ABP中,这样就可以不使用默认的后台工作管理者了.但你仍然可以为Hangfire使用相同的后台工作API.这样,你 ...
- 剑指Offer面试题:1.实现Singleton模式
说来惭愧,自己在毕业之前就该好好看看<剑指Offer>这本书的,但是各种原因就是没看,也因此错过了很多机会,后悔莫及.但是后悔是没用的,现在趁还有余力,把这本书好好看一遍,并通过C#通通实 ...
- XCode的个人使用经验
Xcode是强大的IDE(但个人觉得不如Visual Studio做得好),其强大功能无需本人再赘述,本文也不是一篇“快捷键列表”,因为XCode上的快捷键极其多,而且还有不少是需要同时按下四个按键的 ...
- 总体介绍ASP.NET Web API下Controller的激活与释放流程
通过<ASP.NET Web API的Controller是如何被创建的?>我们已经对HttpController激活系统的核心对象有了深刻的了解,这些对象包括用于解析程序集和有效Http ...