0


Elasticsearch的增删改查基本操作

一、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


本文转载自: https://blog.csdn.net/u014225032/article/details/128187764
版权归原作者 IT东东歌 所有, 如有侵权,请联系我们删除。

“Elasticsearch的增删改查基本操作”的评论:

还没有评论