es的api格式

首先大概了解一下es的api格式,太详细的可以先不用管
ES以RESTFul风格来命名API的, 其API的基本格式如下:

http://<ip>:<port>/<索引>/<类型>/<文档id>

也就是说,如果我想发送一个这样的请求

http://localhost:9200/user/admin/1

这里的user就是索引,admin就是类型,代表它是管理员类型的用户,1就是文档id

新增索引

  1. 那么我们先新增一个索引
  2. 创建数据
    es的动作是以http的发送方式来确定的
    常用的http方法: GET/PUT/POST/DELETE
    这个想必大家很熟了,一般创建数据的请求方式就是PUT或者POST
  • post请求创建

    如图,post请求发送的时候,不用拼接文档id,会自动生成一个文档id
  • put请求创建

    put请求需要指定id
  1. 查询数据
  • 基本查询
    使用head的基本查询查询所有数据

    当然,也可以输入一些条件

    年龄20<age<26的数据
    如果把前面的must改成must_not会是什么结果?没错,就是年龄不在这个区间的。
    所以使用起来还是很简单的。
  • 复合查询
    这里先插入一个小插曲,本来为了查起来的时候数据更多样化,我打算添加一条数据

    按理说是没啥问题的,但是

    原来6.0版本之后的es中,一个索引下面只能有一个索引类型,之前的版本是可以有多个的。7.0甚至移除了索引类型的存在。

至于为什么会这么做,后面再讨论。大家只要大概明白一个点
索引类似于数据库中的一个库,类型类似一个表,而id是它的主键,这个类比是错误的!或者说不合适的,容易造成误解,所以es在去除类型这个概念

好了,回归正题,使用我们的复合查询,不再深入讨论一面增加复杂度,有一个大概的印象就好。

ES插入和修改哪个效率高 es head修改数据_ES插入和修改哪个效率高