一、概念及字段含义

一、基本概念

  • mysql支持事务,而es不支持事务,所以es中的数据删除后是无法恢复的。
  • es没有物理外键这个特性,如果要求数据具有强一致性,建议慎用es。
  • mysql复杂存储数据,es负责搜索数据。目前在企业级应用的场景中,es的作用是:先将mysql中的数据同步到es中,以后如果进行查找的话,就查es以提升查询效率;但mysql依然有用,比如增删改的时候,作用的是mysql,编辑完后再同步到es中。所以es并不是用来替换mysql的,而是用来提升查询性能的。

二、核心概念

  • 索引(index):es存储数据的地方,类似于mysql中的数据库
  • 映射(mapping):mapping定义了每个字段的类型、所用分词器等,类似于mysql中的表结构。
  • 文档(document):es中的最小数据单元,常以json的格式显示,类似于mysql中的一行数据。
  • 倒排索引:一个倒排索引由文档中所有不重复词的列表构成,里面的每一个词,对应一个包含它的文档id列表。
  • 类型(type):一种type指一类表,比如用户表、角色表。在es 7.x中默认type为_doc
    • es 5.x中一个index可以有多种type
    • es 6.x中一个index只能有一种type
    • es 7.x以后,移除了type这个概念,默认为_doc
  • 所以es 7.x以后,由于一个index只有一种type,所以理解上可以将其看做对应mysql里的一张表。

三、操作index

可以在postman中进行es的操作

  • 添加索引:选择PUT的请求方式,输入url为http://es的ip:端口/create_index 。即可创建一个create_index的索引
  • 查询索引:GET
  • 删除索引:DELETE
  • 关闭索引:POST,并在后面加上 /_close
  • 打开索引:POST,并在后面加上 /_open

四、操作映射

  • 添加映射
  • 查询映射
  • 添加字段
  • 不支持删除和修改映射

五、es数据类型

es有两种数据类型:简单数据类型、复杂数据类型

1、简单数据类型:

字符串:

  • text:会分词,不支持聚合
  • keyword:不会分词,支持聚合,将全部内容作为一个词条

数值:long、integer、short、byte、double、float等

布尔:boolean

范围类型: integer_range,float_range,long_range,double_range,date_range等

日期:date

2、复杂数据类型:
  • 数组
  • 对象

tips:添加文档时,如果不指定id,则只能用POST进行添加操作,而不能用PUT

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值