Elasticsearch的增删改查基本操作

目录

一、es中的概念

二、和mysql的关系映射

三、索引操作

1、创建索引

2、获取索引

3、获取所有索引

4、删除索引

四、文档操作

1、新增

1)post

 2)put

2、查询

1)主键查询

 2)全量查询search

3、修改

1)全量覆盖

2)部分修改

 4、删除


一、es中的概念

正排索引:比如通过主键id去查找文章的内容

倒排索引:通过文章关键字查询文章主键id,从而回去文章内容,这种索引形式就是倒排索引。

二、和mysql的关系映射

ES里的Index可以看做一个库,而 Types 相当于表,Documents则相当于表的行。
这里Types 的概念已经被逐渐弱化,Elasticsearch 6.X中,一个index下已经只能包含一个type,Elasticsearch 7.X中, Type的概念已经被删除了。

三、索引操作

我们对es的基本操作都是通过http协议来完成的,所以就用get,put,delete,head等方法来操作es,接下来我们会借助postman来操作数据。

1、创建索引

请求方法:put

url:http://localhost:9200/wenzhang

2、获取索引

请求方法:get

url:http://localhost:9200/wenzhang

3、获取所有索引

请求方法:get

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

4、删除索引

请求方法:delete

url:http://localhost:9200/wenzhang

 

四、文档操作

上面我们介绍过新版本中是弱化了type概念,所以我们直接怼文档操作(用mysql的方式来描述就是:现在不用创建表结构了,直接对数据进行增删改查即可)。

1、新增

两种方式

1)post

url:http://localhost:9200/wenzhang/_doc

内容:

{

    "name":"蜡笔小新",

    "age":3.4

}

 一定要选json格式。

 此时新增就完毕了,如果再点击新增还会新增一条信息,但是_id是不一样的,如果想要自定义id,可以这样写

自定义id:

url:http://localhost:9200/wenzhang/_doc/12001

 2)put

put不允许 http://localhost:9200/wenzhang/_doc/

这样直接请求新增数据,必须后面跟id才能新增成功,并且新增多次都会成功

url:http://localhost:9200/wenzhang/_doc/12003

 如果把_doc换成_create,这个时候后面必须跟数据库中不存在的id才能新增成功,否则报错,这个操作有点像,mysql中唯一索引的意思。

url:http://localhost:9200/wenzhang/_create/100

2、查询

1)主键查询

方法:get

url:http://localhost:9200/wenzhang/_doc/100

 2)全量查询search

方法:get

url:http://localhost:9200/wenzhang/_search

3、修改

1)全量覆盖

方法:put 

url:http://localhost:9200/wenzhang/_doc/100

**其实和新增那里的put一样,类似mysql里的

2)部分修改

方法:post

url:http://localhost:9200/wenzhang/_update/100

{
    "doc":{
        "name":"蜡笔小新11"
    }
}

 4、删除

方法:delete

url:http://localhost:9200/wenzhang/_doc/100

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值