ELK合集(四):Elasticsearch关键术语之Index索引 持续更新

Elasticsearch关键术语 系列博文 目的只用来了解概念 ; 其中 涉及到的配置和使用 是为了方便日后使用时查询的

Index索引

概念

名词 就是一个表 存了一类文档

从数据库的角度 ES的一个index索引就是一个表 (数据库常说 查一下这个表的数据 ES叫做查一下这个index索引的数据)


其他含义

名词

一个Btree索引 一个倒排索引 也叫索引

动词

给ES数据库插入一条Document文档数据的过程 也叫索引

从ES数据库查询数据的过程 也叫索引

创建一个倒排索引的过程 也叫索引


命名规则

小写字母 + 数字


相关信息(mappings 和 settings)

index的mappings映射
概念

每个索引都有自己的映射 用于对每个字段进行设置

作用

建立映射 按最优规则处理数据 - 最大提升性能
( mappings会将JSON文档映射成Lucene的扁平格式)

字段的设置项
  • 字段名
  • 字段类型
    # 作用 : 文本类型 index时会分词 (index是指插入数据时)
    "type":"text"
    
    # 作用 : 搜索时 用suggest即可获得自动补全建议
    "type":"completion"
    
  • 字段是否建倒排索引 – 默认建
    # 设置为不建倒排索引
    "index":false
    
  • 本字段用于索引的分词器
     # 英文分词器
    "analyzer":"english"
    
  • 本字段用于搜索的分词器
    # 英文分词器
    "search_analyzer":"english"
    
  • 本字段是否识别date类型 – 默认不
    # 设置识别
    "date_detection":true
    
  • 本字段是否识别数字类型 – 默认不
    # 设置识别
    "numeric_detection":true
    
配置mapping的三种方式
方式一 ES自动生成动态映射 Dynamic Mappings 默认

作用

写入文档时 索引没有mappings会自动创建 无需手动定义mappings ES会自动推算数据类型

缺点

地理位置信息会推算成text 导致地理位置功能无法正常运行 及 Range查询无法工作

设置是默认的 不足够支持大多数需求 很多index和search都需要特定的设置

自动识别类型的机制

  • 日期字符串 – Date

  • 数字字符串 – text

  • 其他字符串 – text 并增加keyword子字段

    • (keyword 作用 : keyword不分词 存储的是原数据)

      示例 : text类型字段在index时 默认被standard分词 大写字母的字段值都存为了小写 用term精确查询时 输入大写字谜的字段值 是查不到的 ; 所以将分词前的带大写字母的字段值存入了字段名.keyword keyword不分词 存储的是原数据 term查询时 用字段名.keyword 和 带大写字母的字段值去匹配 可查到

  • 布尔值 – boolean

  • 浮点数 – float

  • 整数 – long

  • 对象 – object

  • 数组 – 第一个非空数值的类型

  • 空值 – 忽略

测试自动识别类型的机制
示例0 : 新增文档 查看自动生成的Mapping

# 新增文档
PUT mapping_test/_doc/1
{
  "firstName":"Chan",
  "lastName":"Jackie",
  "loginDate":"2018-07-24T10:29:48.103Z"
}

执行结果

# 查看这个索引的mapping
GET mapping_test/_mapping

执行效果
示例1 : 新增文档 查看自动生成的Mapping

# 删除索引
DELETE mapping_test

在这里插入图片描述

 # 新增文档
PUT mapping_test/_doc/1
{
  "uid":"123",
  "isVip":false,
  "isAdmin":"true",
  "age":19,
  "heigh":180
}

执行效果

# 查看这个索引的mapping
GET mapping_test/_mapping

在这里插入图片描述

方式二 创建索引时设置
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cheese海盐芝士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值