RESTful API HTTP动词介绍

对于资源的具体操作类型,由HTTP动词表示。

常用的HTTP动词有下面五个(括号里是对应的SQL命令)。

  • GET(SELECT):从服务器取出资源(一项或多项)。
  • POST(CREATE):在服务器新建一个资源。
  • PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
  • PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
  • DELETE(DELETE):从服务器删除资源。

还有两个不常用的HTTP动词。

  • HEAD:获取资源的元数据。
  • OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。

下面是一些例子。

  • GET /zoos:列出所有动物园
  • POST /zoos:新建一个动物园
  • GET /zoos/ID:获取某个指定动物园的信息
  • PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
  • PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
  • DELETE /zoos/ID:删除某个动物园
  • GET /zoos/ID/animals:列出某个指定动物园的所有动物
  • DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物

ES常用RESTful API介绍

ES为开发者提供了非常丰富的基于Http协议的Rest API,通过简单的Rest请求,就可以实现非常强大的功能

  • 查询集群健康信息
GET /_cat/health?v
#通过下面的请求可以查看返回结果各字段的意义:
GET /_cat/health?help
  • 查看集群中节点信息
GET /_cat/nodes?v
  • 查看集群中索引信息
GET /_cat/indices?v
  • 创建索引
PUT /indexname

该指令使用默认的配置创建了一个索引,也可以通过指定相关配置信息来创建索引,参考下面的指令

PUT indexname
{"settings": {"number_of_replicas": "1", "number_of_shards": "5","analysis": {"analyzer": {"default": { "type": "custom","tokenizer": "ik_max_word", "filter": ["stemmer"]}}}},"mappings": {"properties": {"name": {"type": "text","store": false,  "analyzer": "default", "search_analyzer": "default", "boost": 1 },"date": {"type": "date","format": "yyyy-MM-dd" },"age": {"type": "integer"},"innertypename": { "properties": {"address": {"index": false,"type": "keyword" }}}}}}

index 有三个索引值:

  • analyzed
    首先分析字符串,然后索引它。换句话说,以全文索引这个域。
  • not_analyzed
    索引这个域,所以它能够被搜索,但索引的是精确值。不会对它进行分析
  • no
    不索引这个域。这个域不会被搜索到。

在6.x+版本里会有bug Failed to parse value [not_analyzed] as only [true] or [false] are allowed
在stackoverflow.上倒是有解决方案,连接如下:

change elasticsearch mapping

官方文档上也有说明:Elasticsearch Reference [6.4] » Analysis » Analyzers » Keyword Analyzer

大致说的是现在index这个只能用true或者false了,如果想要不被分词就把数据类型设置为keyword

分词相关配置可参考官方地址
Mapping映射参数参考地址

  • 创建只有一个主分片,没有复制分片的小索引

    PUT /indexname
    {"settings": {"number_of_shards" : 1,"number_of_replicas" : 0}
    }
    
  • 用 update-index-settings API 动态修改复制分片个数:

   PUT /indexname/_settings{"number_of_replicas": 1}
  • 删除索引
DELETE /indexname
#删除多个索引
DELETE /index_one,index_two
DELETE /index_*
删除多个索引
DELETE /_all
  • 查看索引信息
GET indexname?pretty
  • 查看_mapping
GET indexname/_mapping?pretty
  • 创建索引Mapping信息
PUT indexname/_mapping
{"_doc": { "properties": {"name": {"type": "string","index": false},"age": {"type": "integer"}}}}
  • 删除索引Mapping信息
DELETE indexname

更多操作参考

  • Elasticsearch快速入门
  • 官方文档

Elasticsearch入常用RESTful API总结相关推荐

  1. restful xml_使用入站适配器公开HTTP Restful API。 第1部分(XML)

    restful xml 1.简介 这篇文章的目的是使用Spring Integration HTTP入站适配器实现HTTP Restful API. 本教程分为两个部分: XML配置示例(同一篇文章) ...

  2. 使用入站适配器公开HTTP Restful API。 第1部分(XML)

    1.简介 这篇文章的目的是使用Spring Integration HTTP入站适配器实现HTTP Restful API. 本教程分为两个部分: XML配置示例(同一篇文章). Java DSL示例 ...

  3. RESTful API常用的HTTP请求方法

    GET:获取资源 例如图片.css文件.js文件等,在RESTful API中,一般用来获取数据,例如列表,详情等.对应CRUD中的R,即查找操作. POST:传输实体主体 例如提交表单信息,在RES ...

  4. ElasticSearch查询所有数据restful api以及java代码实现

    elasticsearch查询所有数据restful api以及java代码实现 restful api实现如下: get http://192.168.1.111:9200/film/dongzuo ...

  5. 一文讲解Elasticsearch java restful api 跨版本兼容解决方案

    需求来源 之前的文章elasticsearch&kibana从6.0升级到7.9完整过程记录已经已经介绍了该需求的来源,也已经将elasticsearch的server端从6.0.0升级到了7 ...

  6. RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别

    1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...

  7. RESTful API 设计最佳实践

    2019独角兽企业重金招聘Python工程师标准>>> 背景 目前互联网上充斥着大量的关于RESTful API(为方便,下文中"RESTful API "简写为 ...

  8. RESTful API -备

    网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致AP ...

  9. RESTful API 设计指南(转)

    一.协议 API与用户的通信协议,总是使用HTTPs协议. 二.域名 应该尽量将API部署在专用域名之下. https://api.example.com 如果确定API很简单,不会有进一步扩展,可以 ...

最新文章

  1. Elasticsearch——Templates 模板
  2. python回车换行怎么不行_使用Python编写换行符时避免写入回车'\r'
  3. server接收dtu透传代码_Gopher2020大会干货总结:代码技巧篇
  4. 在子MasterPage设置UserControl内的Web控件属性
  5. atitit.导航的实现最佳实践and声明式编程
  6. uniapp开发的多端APP源码
  7. 最详细农行招聘面试经历
  8. 2022微软中国在苏州北京上海等城市共有700多职位热招,欢迎自荐推荐转发
  9. linux快速切换目录
  10. 黄卫龙 谈“太极起势”的练法
  11. 易基因|3文一览:ChIP-seq技术在植物转录因子结合位点中的研究(茄子+玉米+水稻)
  12. JS 将Table数据导出到Excel表
  13. xch-sboot单体服务架子
  14. win10 格式化 linux u盘,2.win10格式化磁盘和u盘
  15. 更改Excel单元格中批注的显示位置
  16. java判断是否安装了pdf_java判断上传文件是否为pdf java图像上传中如何判断是否是jpg格式...
  17. 面试题(Android 基础部分)
  18. 使用linux 中的 tree 指定显示深度,显示文件目录结构
  19. 用hutool实现邮件发送功能
  20. Unity3D添加使用系统中的字体

热门文章

  1. EI:生物膜反应器抗性组对替加环素浓度升高的动态响应
  2. 扩增子分析解读3格式转换,去冗余,聚类
  3. R语言dir函数获取目录中文件或者文件夹名称实战
  4. R语言dplyr包cumall函数、cumany函数和cummean函数实战
  5. plotly可视化绘制嵌入式子图
  6. git安装+错误:Failed to install ‘IRkernel‘ from GitHub: Git does not seem to be installed on your system
  7. Keras训练神经网络进行分类并进行交叉验证(Cross Validation)
  8. linux bash字符串截取
  9. 计算两个日期之间的年数
  10. 服务器根目录文件配置文件,在文档根目录中存储安装和配置文件