上云无忧 > 文档中心 > 百度智能云Elasticsearch Restful API
Elasticsearch
百度智能云Elasticsearch Restful API

文档简介:
Elasticsearch采用REST API, 所有的操作都可通过HTTP API完成,例如增删改查、别名配置等。本文介绍Restful API的使用方法。 Elasticsearch官方参考文档: 单文档 API: Index、 Get、 Delete、 Update。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

Elasticsearch采用REST API, 所有的操作都可通过HTTP API完成,例如增删改查、别名配置等。本文介绍Restful API的使用方法。

Elasticsearch官方参考文档

  • 单文档 API:

    • Index
    • Get
    • Delete
    • Update
  • 多文档 API:

    • Multi Get
    • Bulk
    • Delete By Query
    • Update By Query
    • Reindex

使用REST Client交互

客户端访问仅支持HTTP / TCP方式,建议您采用Elasticsearch官方提供的Elasticsearch client。

说明: Elasticsearch官方还提供了多种程序语言的客户端,例如EGroovy、Javascript、.NET、PHP、Perl、Python以及Ruby以及很多由社区提供的客户端和插件,您可以在Community Contributed Clients中获取。

使用Java API交互

Elasticsearch为Java用户提供了内置客户端,包括TransportClient和Java REST Client。Elasticsearch 7.0中已经弃用TransportClient,在8.0中完全移除它。因此在实际开发中建议您使用Java REST Client。

  • Java Low Level REST Client:Elasticsearch的官方低级客户端,允许通过http与Elasticsearch集群进行通信,需要使用者对http的请求进行编解码。它与所有Elasticsearch版本兼容。
  • Java High Level REST Client:Elasticsearch的官方高级客户端,基于Low Level REST Client开发,它提供了更多的API,接受请求对象作为参数并返回响应对象,由客户端自己处理编码和解码。使用时需要注意,客户端版本需要与Elasticsearch版本相同。

RESTful API请求参数说明

您可以使用RESTful API或者curl命令,通过8200端口与Elasticsearch进行通信。

curl命令(HTTP)由以下几部分组成。

curl -u <USER:PWD> -H<HEADER> -X<METHOD> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
参数 说明
USER:PWD -u参数为baidu Elasticsearch的用户名密码,例如:superuser:mypassword,如果使用HTTP Basic认证方式则不需要加-u参数
HEADER HTTP请求头,例如:"Content-Type: application/json"
METHOD HTTP方法,包括GET、POST、PUT、HEAD、DELETE等。
PROTOCOL http或者https协议。
HOST Elasticsearch的主机名。
PORT Elasticsearch HTTP服务所在的端口,默认为8200。
PATH API路径(例如/_cluster/health或者_cat/nodes等)。
QUERY_STRING 可选的查询请求参数,例如?pretty参数可使请求返回的JSON数据更加美观易读。
BODY JSON格式的请求主体(可选)。

RESTful API(HTTP)请求示例

通过以下命令,统计Elasticserach集群中doc的数量。

curl -u user:password --header 'Content-Type: application/json' -XGET 'http://host:port/_count' -d '
{ 
  "query": { 
    "match_all": {} 
  }
}'

返回结果如下。

{
   "count": 1646413284,
   "_shards": {
      "total": 1147,
      "successful": 1147,
      "skipped": 0,
      "failed": 0
   }
}
相似文档
  • 本章节介绍Elasticsearch的Java Client的原理、版本兼容性以及使用示例,帮助您快速地使用Java客户端与Baidu Elasticsearch集群进行连接,完成查询分析等相关业务。
  • 本文基于Java High Level REST Client 7.x版本,为您介绍Elasticsearch Java API的用法。 准备工作: 安装Java,要求JDK版本为1.8及以上。 创建Baidu Elasticsearch实例,版本7.4.2。
  • 本文基于Java Low Level REST Client 7.x版本,为您介绍Elasticsearch Java API的用法。 准备工作: 安装Java,要求JDK版本为1.8及以上。 创建Baidu Elasticsearch实例,版本7.4.2。 注意 Low Level Client能够与任何版本的Elasticsearch兼容,因此客户端版本可以为任何版本,本文以7.4.2版本为例。
  • 本文介绍使用PHP、Python和Go客户端访问Baidu Elasticsearch的方法,并提供了示例代码和注意事项供您参考。 PHP语言: 警告: Elasticsearch的PHP客户端提供的默认连接池并不适合云上环境,可能在长连接断开时出现连接异常的问题。推荐PHP客户端访问程序使用SimpleConnectionPool作为连接池,并做好失败重连的机制。
  • 新建和修改定时调度任务: 通过调用API,新建和修改创建索引、删除索引、存储限制、索引置冷、备份数据、集群配置、rollover、forcemerge等定时调度任务。 修改定时调度任务,需要填写该任务相关的全部参数,请求后进行全量字段更新。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部