IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> ElasticSearch系列之基础入门篇 -> 正文阅读

[大数据]ElasticSearch系列之基础入门篇

上一篇:ElasticSearch系列之Linux环境(CentOS)下安装ElasticSearch

在使用ES之前我们先了解一下ES中的index,type,document究竟是什么意思,它和普通的关系型数据库在理解上怎么区分。
刚开始我使用ES的时候也是有点蒙,一会儿index,一会type的。在使用过程当中突然发现index不就是mysql中的数据库嘛,type不就是数据库中的一张张表嘛,而document就是表中那一行行的数据。document和普通关系型数据库表中行数据的区别就是document存储的是json格式的数据。

能够区分以上三个名词的意思基本在使用层面上是没问题了,下面直接开始。

建议参考官方学习文档

在学习过程中无论是大V写的博客,还是百度出来的教程,我觉得还是官方文档写的更加容易入门。
官方中文文档地址:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
在阅读官方文档过程中可以直接略过前言从基础入门章节开始。

PUT,DELETE,GET

新增数据(PUT请求)

目前入门阶段我们先不适用ES图形化界面来操作,先使用postman来操作ES。
需要注意一点的是ES中默认是自动创建索引的,当你创建数据的时候会根据url来自动创建索引,并把数据放入type中。

例如:我在postman中请求类型选择put,url地址为http://192.168.254.128:9200/my_index_one/employee/1
请求体为:

{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}

那么发送之后会返回以下信息:

{
    "_index": "my_index_one",
    "_type": "employee",
    "_id": "1",
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 0,
    "_primary_term": 1
}

通过返回信息可以看出,创建的索引为my_index_one,类型为:employee,插入数据的id为1,版本为1(如果对id为1的这条数据有修改,删除操作,那么版本将会递增),返回结果为created创建成功,_shards里是一些分片信息。

查询数据(GET请求)

我们把刚刚的Put请求方式改为Get请求方式,url地址不变还是http://192.168.254.128:9200/my_index_one/employee/1那么ES将会返回以下结果

{
    "_index": "my_index_one",
    "_type": "employee",
    "_id": "1",
    "_version": 3,      #由于我操作了3次id为1的数据所以这里版本显示为3
    "_seq_no": 2,
    "_primary_term": 1,
    "found": true,
    "_source": {
        "first_name": "John",
        "last_name": "Smith",
        "age": 25,
        "about": "I love to go rock climbing",
        "interests": [
            "sports",
            "music"
        ]
    }
}

可以看到数据正常被查询出来了。

更新数据(PUT请求)

如果想要更新数据的话其实和新增数据是一样的,比如,目前ES里已经有了一条id为1的数据,那么我们要对这条id为1的数据的年龄改为26岁进行更新
get请求:http://192.168.254.128:9200/my_index_one/employee/1
请求体:

{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        26,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}

返回结果:

{
    "_index": "my_index_one",
    "_type": "employee",
    "_id": "1",
    "_version": 4,
    "result": "updated",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 7,
    "_primary_term": 1
}

可以在返回结果里看到,result为updated,说明数据更新成功。

删除数据(DELETE请求)

删除数据我们就要用到delete请求了,例如我们要删除id为1的数据。
delete请求:
返回结果:

{
    "_index": "my_index_one",
    "_type": "employee",
    "_id": "1",
    "_version": 5,
    "result": "deleted",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 8,
    "_primary_term": 1
}

可以从返回结果里看出result为deleted,说明数据删除成功。

下一篇:ElasticSearch系列之搜索篇-条件查询,表达式搜索,全文搜索,高亮查询

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-25 12:16:45  更:2021-08-25 12:17:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:30:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码