es学习:基础知识介绍
来源:互联网 发布:淘宝店铺长时间不用 编辑:程序博客网 时间:2024/05/16 10:07
一、概述
Elasticsearch:是一个开源的分布式搜索引擎服务器;有一下特点和功能:
1. 支持分布式存储;
2. 提供全文检索功能;
3. 完成对大数据的自动分片,自动负载索引,并提供RESTFUL WEB页面接口;
4. 是基于Lucene构建的;
二、一些概念的解释
1. 集群:cluster:
1. 代表一个集群,集群中有多个节点(每个节点存储着相同的数据)
2. 默认cluster的名字为elasticsearch。其中一个节点只能属于一个集群。
3. 不同的集群是通过名字来区分的。
4. elasticsearch-xx文件夹下的data目录下文件夹名字就是cluster的名字。
2. 节点:node
1. 它是cluster的一部分,用来存储数据,并提供集群的索引和搜索功能。
2. node都会有一个名字,启动时默认是随机生成的名字。我们也可以自己制定名称。
3. 在data/elasticsearch下可以发现有nodes文件夹,存在文件夹0,这个文件就是所说的节点;
3. 索引:index
1. 索引是document的一个集合,名字必须用小写来命名。这是ES存储数据的地方,类似于关系数据库的database
2. 假设建的索引为test,在elasticsearch-xx/data/elasticsearch/0/indices/文件夹下发现有test这个文件夹。
4.类型:type
1就是对index的更细的一个划分。类似关系数据库的表.
5.文档: document
1. 这个类似关系数据库的一行。这个是被索引的最基本单元。
6.字段:Field
1. 这个类似关系数据库的某一列,这是ES数据存储的最小单位。
7.分片:
一个分片本身就是一个完整的搜索引擎。文档存储在分片中,而分片则会被分配到集群中节点中,随着集群的扩大和缩小,es会自动地将分片在节点之间进行迁移,以保证集群能保持一种平衡。
1.如果我们的索引数据量很大,超过硬件存放单个文件的限制,就会影响查询请求的速度。Es引入了分片技术;
2.将一个完整的index分成若干部分存储在相同或不同的节点上。
3.每个分片都有自己搜索,更新,删除等和index一样全部功能的一小块。
4.好处:水平分割和扩展我们存放的内容索引;分发和并行跨碎片操作提高性能/吞吐量;
5.假设索引为firsttime,在elasticsearch-xx/data/elasticsearch/0/indices/firsttime下有5个分片,从0-4;
个人理解:index可以理解成数据库,假设数据库名字称为test,里面的表t1存放10条数据,那么分给A,B,C3个不同的分片,A分片存存test数据库,存储t1表中的前3条数据;B分片存存test数据库,存储t1表中的中间4条数据;C分片存存test数据库,存储t1表有中的后3条数据;每个分片存储索引的结构都一样,存储数据不一样。
7. 副本:replica
1.冗余备份,防止数据丢失;
2.负载均衡
一个索引中含有主分片的数量,默认值为5,在索引创建后这个值是不能被更改的。
每一个主分片关联的副本分片的数量,默认值为1,这个设置在任何时候都可以修改。
对副本分片数量的修改:
假设主分片为4,副本分片为2,则就有12条分片,其中4条主分片,8条副分片;
三、es的数据类型
3.1 何谓mapping?
Mapping,就是对索引库中索引的字段名及其数据类型进行定义。
3.2 数据类型
1. string:
2. number:byte intlong float double
3. Boolean
4. Date
5. Binary
3.3 公共属性
1.index:定义字段的检索方式和分析类型
默认值analyzed:进行分词,编入索引以供搜索;
no:则无法通过检索查询到该字段;
not_analyzed:不进行分词(整个字段存储为关键词),编入索引以供搜索;
2.store:
默认值no,不存储,从_source字段取出;
true:独立存储。
在ES中原始的文本会存储在_source里面(除非你关闭了它)。默认情况下其他提取出来的字段都不是独立存储的,是从_source里面提取出来的。当然你也可以独立的存储某个字段,只要设置store:true即可。
独立存储某个字段,在频繁使用某个特殊字段时很常用。而且获取独立存储的字段要比从_source中解析快得多,而且额外你还需要从_source中解析出来这个字段,尤其是_source特别大的时候。
不过需要注意的是,独立存储的字段越多,那么索引就越大;索引越大,索引和检索的过程就会越慢....
- es学习:基础知识介绍
- Opengl ES 学习笔记 1:基础知识
- android opengl es学习总结一:基础知识
- android opengl es学习总结一:基础知识
- OpenGL ES学习总结:基础知识简介
- OpenGL ES学习总结一:基础知识简介
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- Elasticsearch学习整理(1):ES面试基础知识要点
- OpenGL ES 基础知识笔记
- opengl es 基础知识了解
- Zxing二维码扫描(Android开源库)
- vc2010 “CString”: 未声明的标识符
- ArcGIS中利用DEM制作立体晕渲图的说明
- 相机照相以及处理图片的压缩
- HDOJ 1286找新朋友
- es学习:基础知识介绍
- TCP的超时与重传
- C#:Socket通信
- win10下提取chrome扩展的方式
- iOS AutoLayout: 从 X IB 中加载 UIViewController
- C++元编程思想(译)
- iOS8设置NavigationBar颜色和BackButtonItem颜色
- block没那么难 block的实现(一)
- Jam的计数法(C++)