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] 基础概念的更多相关文章

  1. 白日梦的ES笔记三:万字长文 Elasticsearch基础概念统一扫盲

    目录 一.导读 二.彩蛋福利:账号借用 三.ES的Index.Shard及扩容机制 四.ES支持的核心数据类型 4.1.数字类型 4.2.日期类型 4.3.boolean类型 4.4.二进制类型 4. ...

  2. JavaScript--我发现,原来你是这样的JS(基础概念--躯壳,不妨从中文角度看js)

    介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第二篇(基础概念--躯壳篇),有着部分第三章的知识内容,当然其中还有我个人的理解.红宝书这本书可以说是难啃的,要看完不容易,挺厚的, ...

  3. JS--我发现,原来你是这样的JS(二)(基础概念--躯壳篇--不妨从中文角度看js)

    一.介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第二篇(基础概念--躯壳篇),有着部分第三章的知识内容,当然其中还有我个人的理解. 红宝书这本书可以说是难啃的,要看完不容易,挺 ...

  4. ELK&ElasticSearch5.1基础概念及配置文件详解【转】

    1. 配置文件 elasticsearch/elasticsearch.yml 主配置文件 elasticsearch/jvm.options jvm参数配置文件 elasticsearch/log4 ...

  5. cocos2d-x-3.6 引擎基础概念

    先讲一下引擎里面几个重要的基础概念:导演.节点,场景.层,精灵. 当然实际开发人员会碰到非常多其它概念,不过不要紧.有了这些基础概念,后面自己学习起来就easy多了. 节点(Node)是cocos2d ...

  6. es篇-es基础

    点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. es基础知识 es和solr一样,都是基于Lucene的全文检索数据库 ...

  7. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  8. TCP/IP基础概念及通信过程举例

    TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...

  9. Jmeter基础之---jmeter基础概念

    Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...

随机推荐

  1. java-JDBC从数据库中读取数据并进行日期民族男女的转换

    代码如下: package com.itnba.maya.mysql; import java.sql.*; import java.text.SimpleDateFormat; public cla ...

  2. 工作中那些提高你效率的神器(第二篇)_Listary

    引言 无论是工作还是科研,我们都希望工作既快又好,然而大多数时候却迷失在繁杂的重复劳动中,久久无法摆脱繁杂的事情. 你是不是曾有这样一种想法:如果我有哆啦A梦的口袋,只要拿出神奇道具就可解当下棘手的问 ...

  3. *HDU 1709 母函数

    The Balance Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  4. 如何用js得到当前页面的url信息方法(JS获取当前网址信息)

    设置或获取对象指定的文件名或路径. alert(window.location.pathname) 设置或获取整个 URL 为字符串. alert(window.location.href); 设置或 ...

  5. ZXing二维码生成在Unity3D中出错,数组超出界限的解决办法

    错误截图: IndexOutOfRangeException: Array index is out of range.ZXing.Color32Renderer.Render (ZXing.Comm ...

  6. 搭建spark环境

    1.wget http://www.apache.org/dyn/closer.cgi/spark/spark-1.2.0/spark-1.2.0-bin-hadoop2.4.tgz

  7. Server.Transfer 和 Response.Redirect 用法区别

    在ASP.NET中,在后台传值方式目前大多都是用 Response.Redirect("页面地址") 来重定向页面的,但是现在还有一种方式也可以达到重定向页面的作用,而且在某些时刻 ...

  8. C#模拟http 发送post或get请求

    /// <summary> /// 模拟HTTP提交表单并获取返回数据 /// POST /// </summary> /// <param name="Url ...

  9. 用 string 进行插入、替代、查找输出下标等操作

    string s; s = "; string::iterator it; it = s.begin();//让s指向第一个元素 cout << s; system(" ...

  10. PostgreSQL 杂志

    pgmag 团队刚发布了头两期 PostgreSQL 杂志,还有中文版http://pgmag.org/download,推荐广大 PostgreSQL 数据库管理员及开发者阅读: Issue #01 ...