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地址类型
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值