学习elasticSearch可以先把elasticSearch当做一个数据库看待
elasticSearch的Rest风格
一种软件架构风格 ,而不是标准,只是提供了一组设计原则和约束条件。 它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
method | url地址 | 描述 |
---|---|---|
PUT | localhost:9200/索引名称/类型名称/文档id | 创建文档(指定文档id) |
POST | localhost:9200/索引/名称/类型名称 | 创建文档(随机文档id ) |
POST | localhost:9200/索引名称/类型名称/文档id/_ update | 修改文档 |
DELETE | localhost:9200/索引/名称/类型名称/文档id | 删除文档 |
GET | localhost:9200/索引/名称/类型名称 | 询文档通过文档id |
GET | localhost:9200/索引/名称/类型名称_ search | 查询所有数据 |
关于索引基本命令测试
一.PUT命令
1.创建一个索引名称/类型名称/文档id (创建文档(指定文档id))
PUT /test1/type1/1
{
"name": "小鱼",
"age": 3
}
2.创建一个指定类型的索引
PUT /test2
{
"mappings": {
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "long"
},
"birthda": {
"type": "date"
}
}
}
}
我们通过head可以看到这些命令都成功了
二. GET命令操作
1.获取索引信息,对比默认创建的test1和自定创建的test2的区别
- 如果我们创建文档时候没有指定类型,那么elasticSearch会默认给我们配置字段类型
- 对于初学者来说,我们指定的类型不一定有他默认创建的类型好,也不一定比elasticSearch自己创建的全
GET test1
GET test2
扩展:我们可以通过GET _cat/… 可以获得es当前的很多信息
GET _cat/health #获取当前连接状态
GET _cat/indices?v #获取当前库中索引的状态,
更新操作
更新可以使用PUT命令,也可以通过POST里面的_update命令,现在推荐是POST的命令,因为POST中的更新可以是局部更新
- PUT命令更新文档,但是不能进行局部更新
PUT /test1/_doc/1
{
"name" : "小鱼",
"age" : 18
}
- POST中的_update操作更新文档
POST /test1/_doc/1/_update
{
"doc": {
"name" : "大🐟",
"age" : 19
}
}
#########################上面的命令官方不建议使用了,但还是可以进行更新操作
POST /test1/_update/1
{
"doc": {
"name": "小🐟"
}
}
4.删除索引(DELETE)
1.返回ture删除成功
DELETE /test1