1、索引的操作
1、创建索引
对ES的操作其实就是发送一个restful请求,kibana中在DevTools中进行ES操作
创建索引时需要注意ES的版本,不同版本的ES创建索引的语句略有差别,会导致失败
如下创建一个名为people的索引,settings,一些设置,mappings字段映射
PUT people{"settings":{"number_of_shards":3,"number_of_replicas":1},"mappings":{"man":{"properties":{"name":{"type":"text"},"country":{"type":"keyword"},"age":{"type":"integer"},"date":{"type":"date","format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}}} }
}
我的版本是7.0之前的老版本,需要指定索引类型,所以需要带上,如果是7.0之后的可以用下方语句
PUT people1
{"settings": {"number_of_shards": 3,"number_of_replicas": 1},"mappings": {"properties": {"name": {"type": "text"},"country": {"type": "keyword"},"age": {"type": "integer"},"date": {"type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}}}
}
索引创建成功
2、查询索引信息
GET /people
3、删除索引
DELETE /people
2、数据操作
有了索引以后,就相当于有了表,然后就可以对表进行增、删、改、查数据。
2、1 添加数据
- PUT /索引名/类型名/文档id:创建一个指定id的文档
- POST /索引名/类型名: 不指定ID插入时会自动生成,需要使用POST请求
以下三种方式请求是正确的:
put /test_1/test/1
{"id":1,"name":"小明","age":20,"desc":"三好学生","depName":"中学部"
}
post /test_1/test
{"id":2,"name":"小红","age":22,"desc":"三好学生干部","depName":"小学部"
}post /test_1/test/3
{"id":3,"name":"小张","age":18,"desc":"优秀干部","depName":"大学部"
}
put请求后必现跟文档id,否则报错
2、2修改数据
通过继续提交PUT覆盖原来的值,需要带文档id,不带报错
POST请求不加文档id和_update,表示的是新增数据
添加了文档id报错
2、3查询数据
GET /索引名称/类型名称/文档id 根据id查询单条数据
查询数据不存在时:
2、4删除数据
删除数据是逻辑删除
3、复杂查询
1、查询所有(默认返回结果是分页的,只返回了第一页10条)
或
2、带条件查询
只查询想要的字段_source指定
3、分页查询
from 第几页,size每页数量
4、排序
5、多条件查询&范围查询