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"
}
}
}'

Easticsearch概述(API使用)二的更多相关文章

  1. 在云平台上基于Go语言+Google图表API提供二维码生成应用

    二维码能够说已经深深的融入了我们的生活其中.到处可见它的身影:但通常我们都是去扫二维码, 曾经我们分享给朋友一个网址直接把Url发过去,如今我们能够把自己的信息生成二维码再分享给他人. 这里就分享一下 ...

  2. Java 常用API(二)

    目录 Java 常用API(二) 1. Object类 2. Date类 概述 构造方法和成员方法 3. DateFormat类 概述 SimpleDateFormat类 练习 4. Calendar ...

  3. TFS API:二、TFS 代码查询工作项

    TFS API:二.TFS  代码查询工作项 首先我们需要认识TFS的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection, ...

  4. 使用IOS7原生API进行二维码条形码的扫描

    使用IOS7原生API进行二维码条形码的扫描 IOS7之前,开发者进行扫码编程时,一般会借助第三方库.常用的是ZBarSDK,IOS7之后,系统的AVMetadataObject类中,为我们提供了解析 ...

  5. HOOK API(二)—— HOOK自己程序的 MessageBox

    HOOK API(二) —— HOOK自己程序的 MessageBox 0x00 前言 以下将给出一个简单的例子,作为HOOK API的入门.这里是HOOK 自己程序的MessageBox,即将自己程 ...

  6. 【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨

    原文:[高德地图API]从零开始学高德JS API(二)地图控件与插件——测距.圆形编辑器.鼠标工具.地图类型切换.鹰眼鱼骨 摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装 ...

  7. 利用google api生成二维码名片

    利用google api生成二维码名片 二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码.堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成:矩阵式二维条码以矩阵的形式组成,在矩 ...

  8. Redis总结(五)缓存雪崩和缓存穿透等问题 Web API系列(三)统一异常处理 C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步) C#总结(二)事件Event 介绍总结 C#总结(三)DataGridView增加全选列 Web API系列(二)接口安全和参数校验 RabbitMQ学习系列(六): RabbitMQ 高可用集群

    Redis总结(五)缓存雪崩和缓存穿透等问题   前面讲过一些redis 缓存的使用和数据持久化.感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhon ...

  9. WINDOWS API 大全(二)

    9. API之设备场景函数 CombineRgn 将两个区域组合为一个新区域CombineTransform 驱动世界转换.它相当于依顺序进行两次转换CreateCompatibleDC 创建一个与特 ...

随机推荐

  1. Linux网络编程入门

    (一)Linux网络编程--网络知识介绍 Linux网络编程--网络知识介绍客户端和服务端         网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户 ...

  2. Vlookup大叔与一对多查找(Excel函数集团)

    所谓一对多查找,就是根据一个条件,把多个符合条件的结果全部找出来. 其实吧,一对多查找不是什么,尤其是O365的Filter函数横空出世震撼全场之后,简直就是瞬间把所有传统的数组解法甩出去七八十来条街 ...

  3. 【LeetCode】926. Flip String to Monotone Increasing 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Prefix计算 动态规划 参考资料 日期 题目地址 ...

  4. 【LeetCode】222. Count Complete Tree Nodes 解题报告(Python)

    [LeetCode]222. Count Complete Tree Nodes 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个 ...

  5. Special Prime

    Special Prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  6. 《HelloGitHub》第 69 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...

  7. Wavelet Transforms

    目录 目标 小波变换 Scaling Functions Wavelet Functions 二者的联系 离散的情形 高效变换 二维的情形 示例 目标 首先, 既然是变换, 那么就是从一个域到另一个域 ...

  8. Java初学者作业——编写Java程序,实现用户登录验证。

    返回本章节 返回作业目录 需求说明: 编写Java程序,实现用户登录验证. 若用户名与密码输入正确,则提示"登录成功,欢迎回来!",若用户名与密码不匹配,则提示"用户名和 ...

  9. HTML网页设计基础笔记 • 【第2章 排列页面内容】

    全部章节   >>>> 本章目录 2.1 音频标签和视频标签 2.1.1 音频标签 2.1.2 视频标签 2.2 列表.div 以及 span 标签 2.2.1 列表标签 2. ...

  10. SpringBoot 与 SpringCloud 的版本对应详细信息

    "spring-cloud": { "Finchley.M2": "Spring Boot >=2.0.0.M3 and <2.0.0.M ...