Elasticsearch学习2

》继续上次的学习

【07.Redis的结构】

三.ElasticSearch基本操作
3.1 ES的结构
》ES是如何存储数据的

ES服务
1、ES可以搭建集群,会对索引进行分片,默认一个索引分五片
好处:扩大容量,提升检索效率
2、ES会对索引进行备份,从分片一般情况不会分担查询压力。
好处:避免数据丢失,高可用
ES的分片讲解
ES的索引 相当于mysql的数据库
ES的索引分为类型type,相当于mysql的表
ES5.x版本中,一个index可以创建多个type;
ES6.x版本中,一个index可以创建一个type;(以下以此为主)
ES7.x版本中,一个index没有type;
ES的Type
ES的type下的文档(document),相当于mysql表中的每条记录;
ES的type下的文档(document),分为field(属性),相当于mysql中记录的字段
ES-文档

ES-属性
3.1.1 索引index,分片和备份
ES的服务中,可以创建多个索引;
每个索引默认被分成5片存储;
每个分片都会存在至少一个备份分片;
备份分片默认不会帮助检索数据,当ES检索压力特别大的时候,备份分片才会帮助检索数据;
备份的分片必须放在不同的服务器中;
3.1.2类型Type
一个索引下,可以创建多个类型;
PS:根据版本不同,类型的创建数量不同;
3.1.3文档Doc
一个类型下,可以有多个文档,这个文档就类似于mysql中的多行数据。
3.1.4属性field
一个文档中,可以包含多个属性,类似于mysql表中的一行数据存在多个列。

【08ES的restful语法】

3.2 操作ES的restful语法
restful语法:根据请求方式不同,决定操作业务是什么
1 get请求:
http://ip:port/index:查询索引信息
http://ip:port/index/type/doc_id:查询指定的文档信息
2.post请求
http://ip:port/index/type/_search:查询,可以在请求体中添加json字符串代表查询条件
http://ip:port/index/type/doc_id/_update:修改文档,在请求体中指定json字符串代表修改的具体信息
3.put请求
http://ip:port/index:创建一个索引,需要在请求体中指定索引的信息,类型,结构;
http://ip:port/index/type/_mappings:代表创建索引时,指定索引文档存储的属性的信息
4.Delete请求
http://ip:port/index:删除跑路(慎用操作)
http://ip:port/index/type/doc_id:删除指定的文档

请求方式和路径后追加的内容不同,来决定处理
ES-各种操作

【09ES索引的操作】

3.3索引的操作
3.3.1创建一个索引
先创建一个简单的索引,只有分片和备份,不指定结构化数据。
ES-创建一个索引1

ES-创建一个索引
索引名称、分片和备份
使用management查看创建结果,其中健康为黄色是因为此处为单机备份,单机备份并没有实际效用
ES-management查看结果
3.3.2 查看索引信息
方式一:使用kibana图形化界面-management。
方式二:kibana的restful语言
ES-restful查询索引
注意:鼠标要放在方法行中,否则执行可能为空
别名
数据的结构化
设置
3.3.3 删除索引
方式一:使用kibana的management;
方式二:使用restful语法
ES-删除索引

【10.ES中常用的Field类型】

接下来看如何指定结构化
3.3.4ES中field可以指定的类型
接着指定索引中的结构
先了解ES的文档属性-整型、字符串、时间,这些类型在ES是如何分配的。
官网-学习-文档-other version
Mapping - field datatypes(属性类型)
ES-查看文档
核心数据类型
ES-核心数据类型

  • 字符串类型String :
    1.text:一般用于全文检索,将当前field进行分词。可用于内容描述等。
    2.keyword:当前field不会被分词。可用于关键字。
  • 数值类型number:
    long
    integer:
    short
    byte
    double
    float
    half_float:精度比float小一半
    scaled_float:根据一个long和scaled来表达一个浮点型,long-345,scaled-100 ->3.45
  • 时间类型date
    date
    特点:可以指定具体的输入格式(3种):年月日和毫秒
    ES-3种时间格式
  • 布尔类型
    boolean,表达true和false
  • 二进制类型
    binary,暂时支持Base64 encode string
  • 范围类型range
    赋值时,无需指定具体的内容,只需要存储一个范围即可,指定gt,lt,gte,lte。有6个:integer_range,float_range,long_range,double_range,date_range,ip_range
    除了核心数据类型,还有其他数据类型,重点看Gao和ip。
    ES-其他数据类型
  • 经纬度类型
    geo_point:用来存储经纬度,可用于位置查询
  • ip类型
    ip:可以存储IPv4或者Ipv6
    ES-其他类型参考
    》to be continue
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!关于学习Elasticsearch,我可以给你一些指导。Elasticsearch是一个开源的分布式搜索和分析引擎,主要用于快速、实时地存储、搜索和分析大量数据。下面是一些学习Elasticsearch的步骤: 1. 了解基本概念:开始学习Elasticsearch之前,你需要了解一些基本的概念,比如索引(index)、类型(type)、文档(document)、字段(field)等。这将帮助你更好地理解Elasticsearch的工作原理。 2. 安装和配置:根据你的操作系统,你可以从Elasticsearch官方网站下载并安装合适的版本。安装完成后,你需要进行适当的配置,如设置集群名称、分配内存等。 3. 学习REST API:Elasticsearch提供了丰富的REST API,用于与其进行交互。了解如何使用这些API来索引、搜索和删除数据是学习Elasticsearch的重要一步。 4. 索引和搜索数据:学习如何创建索引、添加文档以及执行搜索操作是使用Elasticsearch的关键。掌握查询语法、过滤器、聚合操作等功能可以帮助你更有效地使用Elasticsearch。 5. 数据建模和分析:学习如何设计合适的数据模型和映射,以及如何使用Elasticsearch进行数据分析和可视化是提高你的技能的重要一步。 6. 扩展和优化:学习如何在生产环境中扩展和优化Elasticsearch集群是非常重要的。了解如何分片、复制、调优性能等将帮助你更好地管理和维护你的数据。 7. 学习资源:除了官方文档,还有很多优秀的学习资源可供参考,如书籍、教程和在线课程等。利用这些资源可以更系统地学习和掌握Elasticsearch。 希望这些步骤能对你学习Elasticsearch有所帮助!如果有任何问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值