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 |
批量增删改 |