目录
前言
一、创建索引
二、新增或修改记录
三、删除数据
四、查询数据
前言
在这里记录ES的几种简单的 restful api操作,方便使用es开发过程中数据的模拟与验证。
下面示例中用到的index统一为blog,type统一为article。
一、创建索引
创建一个index为blog的索引,索引中的type为articl
#请求类型: PUT
#索引类型: blog
http://IP:9200/blog
# type: article
# properties中存储字段信息
{
"mappings":{
"article":{
"properties":{
"id":{
"type":"long",
"store":true,
"index":true
},
"title":{
"type":"text",
"store":true,
"index":true,
"analyzer":"standard"
},
"content":{
"type":"text",
"store":true,
"index":true,
"analyzer":"standard"
}
}
}
}
}
如果在创建索引时,未设定mapping信息,可以重新设定。
# 请求类型: POST
# index :blog
# type: article
#_mapping 表示要对mapping进行操作
POST http://IP:9200/blog/article/_mapping
{
"article":{
"properties":{
"id":{
"type":"long",
"store":true,
"index":true
},
"title":{
"type":"text",
"store":true,
"index":true,
"analyzer":"standard"
},
"content":{
"type":"text",
"store":true,
"index":true,
"analyzer":"standard"
}
}
}
}
二、新增或修改记录
如果Es中不存在数据则新增,如果存在则修改。文章来源:https://www.toymoban.com/news/detail-660344.html
#请求类型 POST
#index: blog
#type: article
# 字符串1 代表主键(_id=1),如果不写由Es自动生成
POST http://localhost:9200/blog/article/1
{
"id":"1",
"title":"这是一个标题",
"content":"这是一段内容"
}
三、删除数据
# 请求类型 DELETE
# index: blog
# type : article
# 文档id :1
DELETE http://IP:9200/blog/article/1
##如果只写请求路径只到索引层级,则代表删除索引,示例:
DELETE http://IP:9200/blog
###如果请求路径到type层级,则代表删除type,示例:
DELETE http://IP:9200/blog/article
四、查询数据
一共有三种查询方式
1. 根据文档主键id进行查询
GET http://IP:9200/blog/article/1
2. 根据关键词查询
#_search 代表需要执行查询操作
POST http://localhost:9200/blog/article/_search
{
"query":{
"term":{
"title":"标题"
}
}
}
3 分词查询(query_string)
POST http://localhost:9200/blog2/article/_search
{
"query":{
"query_string":{
"default_field":"title",
"query":"标题内容"
}
}
}
五、通过sql查询数据
POST /_sql?format=txt
{
"query": "SELECT count(1) FROM index_name where field = 'value' LIMIT 5"
}
# format=txt format 代表返回的结果格式,可以选择 txt 或 json两种格式
# query 的值就是sql语句
六、通过脚本更新es数据文章来源地址https://www.toymoban.com/news/detail-660344.html
POST index_name/_doc/_update_by_query
{
"script": {
"lang": "painless",
"inline": "if (ctx._source.field == null) {ctx._source.field = 'value'}"
},
"query":{
"match_all": {}
}
}
## 通过查询出来的数据更新数据
# query对应于查询语句
# inline 后边是js脚本
到了这里,关于ES 的 RESTFUL API 常用示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!