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教程2021版入门(二)基本增删改查 -> 正文阅读

[大数据]ElasticSearch教程2021版入门(二)基本增删改查

一、基本概念

1.倒排索引概念

倒排索引与正排索引相对,举个例子。
有这样一张表,如下:

idcontent
1我的名字是张三,我来自山东济南
2我的名字是李四,我来自湖北武汉
3我的名字是赵六,我来自山东青岛

我们传统的查询方法是根据id查出content,例如根据id为1的查询出content为 我的名字是张三,我来自山东济南 。这就是正排索引。

所谓的倒排索引即根据content来找id,假设上表部分数据经过分词后倒排索引即如图所示。

contentid
我的名字1,2,3
山东1,3
湖北2
济南1
武汉2
青岛3

根据上面这个表我们可以看出,正排索引是根据id找内容,倒排索引是根据内容找id。

2.RESTful风格说明

RESTful是一种api风格。在互联网上所有的资源都有一套统一的资源定位符,如

https://img-home.csdnimg.cn/images/20201124032511.png

RESTful风格的个人理解是不在资源定位符中体现对资源的操作,这样不安全,而是通过不同的请求方式来表示不同的操作,一般来说,put 表示有幂等性的新增或修改,post表示没有幂等性的新增或修改,get表示查询,delete表示删除。

只要发送同样的请求,有幂等性的请求方式是结果相同的,同时不允许重复的,没有幂等性的则结果不同,不要求是否重复。

如put,delete,head是有幂等性的,而post则没有幂等性。

3.索引基本操作

(1)创建索引

PUT http://localhost:9200/user

创建索引

(2)索引详情

GET http://localhost:9200/user

索引详情

(3)查看所有索引

GET http://localhost:9200/_cat/indices?v

查看所有索引

(4)删除索引

DELETE http://localhost:9200/user

删除索引
再次查询所有索引

4.文档基本操作

(1)创建文档

POST http://localhost:9200/user/_doc
{
    "username":"蔡徐坤",
    "password":"123456",
    "hobby":["唱跳","rap","篮球"]
}

创建文档
由于幂等性,第二次请求和第一次请求结果除了id基本一样

(2)创建自定义id的文档

PUT http://localhost:9200/user/_doc/1001
POST http://localhost:9200/user/_doc/1001
PUT http://localhost:9200/user/_create/1003
POST http://localhost:9200/user/_create/1003
{
    "username":"小缸",
    "password":"123456",
    "hobby":["黑暗料理","骑摩托","爱缸婆"]
}

创建自定义id的文档

(3)查看文档

GET http://localhost:9200/user/_doc/1004

查看文档

(4)查看某索引所有文档

GET http://localhost:9200/user/_doc/_search

查看索引所有文档

(5)全量数据更新

PUT http://localhost:9200/user/_doc/1001

全量数据更新
版本也变化了

(6)局部数据更新

POST http://localhost:9200/user/_update/1001
{
    "doc":{
        "hobby":["黑暗料理","骑摩托","还是爱缸婆的!"],
        "friend":["阿灿","老胡","静静"]
    }
}

body里面doc里加入修改的属性。
局部数据更新
再次查询看是否修改

(7)删除文档

delete ip:端口号/索引名称/_doc/id内容
再次点not found

DELETE http://localhost:9200/user/_doc/1001

删除文档
查看所有文档

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-17 11:59:21  更:2021-07-17 12:01:02 
 
开发: 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年5日历 -2024/5/21 2:45:48-

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