es的api格式
首先大概了解一下es的api格式,太详细的可以先不用管
ES以RESTFul风格来命名API的, 其API的基本格式如下:
http://<ip>:<port>/<索引>/<类型>/<文档id>
也就是说,如果我想发送一个这样的请求
http://localhost:9200/user/admin/1
这里的user就是索引,admin就是类型,代表它是管理员类型的用户,1就是文档id
新增索引
- 那么我们先新增一个索引
- 创建数据
es的动作是以http的发送方式来确定的
常用的http方法: GET/PUT/POST/DELETE
这个想必大家很熟了,一般创建数据的请求方式就是PUT或者POST
- post请求创建
如图,post请求发送的时候,不用拼接文档id,会自动生成一个文档id - put请求创建
put请求需要指定id
- 查询数据
- 基本查询
使用head的基本查询查询所有数据
当然,也可以输入一些条件
年龄20<age<26的数据
如果把前面的must改成must_not会是什么结果?没错,就是年龄不在这个区间的。
所以使用起来还是很简单的。 - 复合查询
这里先插入一个小插曲,本来为了查起来的时候数据更多样化,我打算添加一条数据
按理说是没啥问题的,但是
原来6.0版本之后的es中,一个索引下面只能有一个索引类型,之前的版本是可以有多个的。7.0甚至移除了索引类型的存在。
至于为什么会这么做,后面再讨论。大家只要大概明白一个点
索引类似于数据库中的一个库,类型类似一个表,而id是它的主键,这个类比是错误的!或者说不合适的,容易造成误解,所以es在去除类型这个概念
好了,回归正题,使用我们的复合查询,不再深入讨论一面增加复杂度,有一个大概的印象就好。