REST API
1 索引操作 API
创建、删除、查看索引
# 创建索引
PUT /my_index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  }
}

# 查看索引设置
GET /my_index/_settings

# 查看索引映射
GET /my_index/_mapping

# 删除索引
DELETE /my_index

# 检查索引是否存在
HEAD /my_index

# 关闭/打开索引
POST /my_index/_close
POST /my_index/_open

# 刷新索引
POST /my_index/_refresh

# 清空索引数据
POST /my_index/_delete_by_query
{
  "query": {
    "match_all": {}
  }
}
2 文档操作 API
增删改查文档数据
# 创建/替换文档(指定ID)
PUT /my_index/_doc/1
{
  "title": "Elasticsearch Guide",
  "author": "John Doe",
  "content": "Elasticsearch is a distributed search engine...",
  "publish_date": "2024-01-15",
  "views": 100
}

# 创建文档(自动生成ID)
POST /my_index/_doc
{
  "title": "Another Article",
  "author": "Jane Smith"
}

# 获取文档
GET /my_index/_doc/1

# 更新文档
POST /my_index/_update/1
{
  "doc": {
    "views": 150
  }
}

# 删除文档
DELETE /my_index/_doc/1

# 批量操作
POST /_bulk
{ "index": { "_index": "my_index", "_id": "1" } }
{ "title": "Doc 1", "author": "Author 1" }
{ "index": { "_index": "my_index", "_id": "2" } }
{ "title": "Doc 2", "author": "Author 2" }
{ "delete": { "_index": "my_index", "_id": "3" } }
3 搜索 API
执行各种搜索查询
# 基本搜索
GET /my_index/_search
{
  "query": {
    "match": {
      "title": "elasticsearch"
    }
  }
}

# 多字段搜索
GET /my_index/_search
{
  "query": {
    "multi_match": {
      "query": "search engine",
      "fields": ["title", "content"]
    }
  }
}

# 分页搜索
GET /my_index/_search
{
  "from": 0,
  "size": 10,
  "query": {
    "match_all": {}
  }
}

# 排序
GET /my_index/_search
{
  "sort": [
    { "publish_date": "desc" },
    { "views": "desc" }
  ]
}

# 高亮搜索
GET /my_index/_search
{
  "query": {
    "match": {
      "content": "elasticsearch"
    }
  },
  "highlight": {
    "fields": {
      "content": {}
    }
  }
}
4 集群管理 API
监控和管理集群状态
# 集群健康状态
GET /_cluster/health

# 集群统计信息
GET /_cluster/stats

# 节点信息
GET /_cat/nodes?v

# 索引列表
GET /_cat/indices?v

# 分片分配情况
GET /_cat/shards?v

# 集群设置
GET /_cluster/settings

# 修改集群设置
PUT /_cluster/settings
{
  "transient": {
    "cluster.routing.allocation.enable": "all"
  }
}
5 常用 API 速查表
操作 HTTP方法 URL路径 说明
检查集群 GET /_cluster/health 查看集群健康状态
查看节点 GET /_cat/nodes 列出所有节点
创建索引 PUT /index_name 创建新索引
删除索引 DELETE /index_name 删除索引
添加文档 POST /index/_doc 创建文档(自动ID)
更新文档 POST /index/_update/id 更新指定文档
删除文档 DELETE /index/_doc/id 删除指定文档
搜索 GET /index/_search 搜索文档
批量操作 POST /_bulk 批量增删改