Easticsearch概述(API使用)二
2024-10-19 21:28:27
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"
}
}
}'
最新文章
- HDU5934 强连通分量
- iOS_线程和进程的区别与联系
- 采用OLEDB数据库方式向指定的Excel添加数据,怪像!
- js读取解析JSON数据
- python自动化运维之路~DAY1
- Qt版helloworld
- 模板方法模式(Template Method)
- JAVA bean与XML互转的利器---XStream
- js渐变显示渐变消失
- LINUX下中文语言包的安装(转)
- json转javascript对象
- 1.Nginx 简介
- 数据库 -->; sqlite3总结
- Java-HttpSession
- SecuerCRT遇到一个致命错误且必须关闭_解决方案_软件链接(自己百度云盘的)
- mybatis提示Invalid bound statement (not found)错误的可能原因
- 潭州课堂25班:Ph201805201 WEB 之 页面编写 第一课 (课堂笔记)
- Photoshop和Halcon中的极坐标变换
- pytest 常用命令行选项(二)
- JMeter分布式配置
热门文章
- [BUUCTF]REVERSE——[2019红帽杯]easyRE
- 当动态桌面遇上 HTML5
- Java Record 的一些思考 - 默认方法使用以及基于预编译生成相关字节码的底层实现
- Tornado WEB服务器框架 Epoll-- 【模板】
- C++11新特性:enable_shared_from_this
- netcore XmlDocument 使用Load和Save方法
- nim_duilib(13)之添加fmt库
- 【剑指Offer】序列化二叉树 解题报告(Python)
- 【Java笔记】applet和html注意
- 剖析Defi之Uinswap_1