Rest简介

  一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务端互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制

Rest的操作分为以下几种:

1、GET:获取对象的当前状态

2、PUT:改变对象的状态

3、POST:创建对象

4、DELETE:删除对象

5、HEAD:获取头信息

ES内置的API:

索引文档的语法curl用法:

CURL:简单认为可以在命令行下访问url的一个工具

curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求

curl

  -X 指定http请求的方法

      GET   POST   PUT     DELETE           restful

  -d  指定要传输的数据

索引库的创建和删除:

创建索引库blog,默认分片5个,每个分片一个副本分片

curl -XPOST node3:9200/blog

POST创建type以及新建或修改文档  :创建表(类似数据库)

curl -XPOST http://node2:9200/blog/employee/_mapping -d '{
"employee":{
"properties":{
"id":{
"type":"long",
"store":"yes",
"index":"not_analyzed"
},
"first_name":{
"type":"String",
"store":"yes",
"analyzer":"ik_max_word"
},
"about":{
"type":"String",
"store":"yes",
"analyzer":"ik_max_word"
},
"iterests":{
"type":"String",
"store":"yes",
"analyzer":"ik_max_word"
}
}
}
}'

POST添加和删除:

#添加
curl -XPOST http://node2:9200/blog/employee -d '{
"first_name":"bin",
"age":33,
"about":"I love es and redis",
"iterests":["sports","muisc"]
}'
#修改
curl -XPOST http://node2:9200/blog/employee -d '{
"first_name":"god bin",
"age":43,
"about":"I love es and redis",
"iterests":["sports","muisc"]
}'
#添加字段
curl -XPOST http://node2:9200/blog/employee -d '{
"first_name":"god bin",
"age":43,
"about":"I love es and redis",
"iterests":["sports","muisc"],
"sex":"man"
}' #没有id为1的 添加
curl -XPOST http://node2:9200/blog/employee/1 -d '{
"first_name":"tom",
"age":43,
"about":"I love es and redis",
"iterests":["sports","muisc"]
}'
#如果有id为1的修改
curl -XPOST http://node2:9200/blog/employee/1 -d '{
"first_name":"tom",
"age":43,
"about":"I love es and redis",
"iterests":["sports","muisc"]
}'

PUT创建和修改文档:

#PUT创建文档
curl -XPUT http://node2:9200/blog/employee -d '{
"first_name":"tom",
"age":43,
"about":"I love es and redis",
"iterests":["sports","muisc"]
}'
#PUT创建文档
curl -XPUT http://node2:9200/blog/employee/2 -d '{
"first_name":"test bin",
"age":43,
"about":"I love es and redis",
"iterests":["sports","muisc"]
}'
#已存在修改 包括POST创建的文档也可以修改
curl -XPUT http://node2:9200/blog/employee/2 -d '{
"first_name":"111",
"age":43,
"about":"I love es and redis",
"iterests":["sports","muisc"]
}'

GET查询

#单字段查询
curl -XGET http://node2:9200/blog/employee/_search?pretty -d '{
"query":{
"match":{
"first_name":"bin"
}
}
}' #多字段查询
curl -XGET http://node2:9200/blog/employee/_search?pretty -d '{
"query":{
"multi_match":{
"query":"bin",
"fields":["first_name","laset_name"],
"operator":"and"
}
}
}'

最新文章

  1. HDU5934 强连通分量
  2. iOS_线程和进程的区别与联系
  3. 采用OLEDB数据库方式向指定的Excel添加数据,怪像!
  4. js读取解析JSON数据
  5. python自动化运维之路~DAY1
  6. Qt版helloworld
  7. 模板方法模式(Template Method)
  8. JAVA bean与XML互转的利器---XStream
  9. js渐变显示渐变消失
  10. LINUX下中文语言包的安装(转)
  11. json转javascript对象
  12. 1.Nginx 简介
  13. 数据库 --> sqlite3总结
  14. Java-HttpSession
  15. SecuerCRT遇到一个致命错误且必须关闭_解决方案_软件链接(自己百度云盘的)
  16. mybatis提示Invalid bound statement (not found)错误的可能原因
  17. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第一课 (课堂笔记)
  18. Photoshop和Halcon中的极坐标变换
  19. pytest 常用命令行选项(二)
  20. JMeter分布式配置

热门文章

  1. [BUUCTF]REVERSE——[2019红帽杯]easyRE
  2. 当动态桌面遇上 HTML5
  3. Java Record 的一些思考 - 默认方法使用以及基于预编译生成相关字节码的底层实现
  4. Tornado WEB服务器框架 Epoll-- 【模板】
  5. C++11新特性:enable_shared_from_this
  6. netcore XmlDocument 使用Load和Save方法
  7. nim_duilib(13)之添加fmt库
  8. 【剑指Offer】序列化二叉树 解题报告(Python)
  9. 【Java笔记】applet和html注意
  10. 剖析Defi之Uinswap_1