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. c++和c中const的区别

    const在c与c++的区别与使用 大学期间对c和c++的了解太少了,现在工作了导致自己来恶补,简单的const关键字里面的学问还是挺大的,越是基础的知识越是容易忘却,所以今天开始记录着自己每一天的学 ...

  2. 数组队列如何手撕?解密ArrayBlockingQueue的实现内幕!

    队列 聊起队列,你一定会联想到一个与队列相似的数据结构:栈. 为了更好的理解什么是队列,我们将它和栈来比较一下: 队列的特点是:先进先出,如下图,1先进,1就先出. 图1:队列的图解 栈的特点是:先进 ...

  3. CF157A Game Outcome 题解

    Content 有一个 \(n\times n\) 的矩阵,每个元素都有一个权值.求所有满足其所在纵列所有元素权值和大于其所在横列所有元素权值和的元素个数. 数据范围:\(1\leqslant n\l ...

  4. cmake之譬判断cmake的版本

    note 有时候,可能使用的cmake语法 与cmake的版本有关系, 比如modern cmake. 这时候我们可以在 CMAKELISTS.TXT中 判断 cmakeLists.txt 代码 if ...

  5. windows10下vscode+cmake编译Qt5代码

    概述 本文演示环境: windows10 cmake version:3.18 qt version: 5.14 vscode version: 1.54.1 本文演示环境基于在线模式, 离线使用VS ...

  6. codeforce -602B Approximating a Constant Range(暴力)

    B. Approximating a Constant Range time limit per test 2 seconds memory limit per test 256 megabytes ...

  7. 「算法笔记」Min_25 筛

    戳 这里(加了密码).虽然写的可能还算清楚,但还是不公开了吧 QwQ. 真的想看的 私信可能会考虑给密码 qwq.就放个板子: //LOJ 6053 简单的函数 f(p^c)=p xor c #inc ...

  8. Chapter 21 G-Methods for Time-Varying Treatments

    目录 21.1 The g-formula for time-varying treatments 21.2 IP weighting for time-varying treatments 21.3 ...

  9. 本地修改配置hosts文件解决Github加载慢问题

    本地修改配置hosts文件解决Github加载慢问题 手动方式 hosts 文件在每个系统的位置不一,详情如下: Windows 系统:C:\Windows\System32\drivers\etc\ ...

  10. Java初学者作业——编写JAVA程序,根据用户输入课程名称,输出对应课程的简介,各门课程的简介见表

    返回本章节 返回作业目录 需求说明: 编写JAVA程序,根据用户输入课程名称,输出对应课程的简介,各门课程的简介见表 课程名称 课程简介 JAVA课程 JAVA语言是目前最流行的编写语言,在本课程中将 ...