我直接给你一套 Elasticsearch 8.5.0 最常用、最实用、你项目 100% 会用到的命令大全 !
全部可以在 Kibana → Dev Tools 里直接运行!
🚀 Elasticsearch 常用操作大全
1️⃣ 查看集群/索引信息
http
# 查看所有索引
GET /_cat/indices?v
# 查看集群健康状态
GET /_cluster/health
# 查看节点信息
GET /_cat/nodes?v
# 查看所有插件(看IK分词器)
GET /_cat/plugins?v
2️⃣ 分词测试(IK 中文分词)
http
# 标准分词(英文分词,不适合中文)
POST /_analyze
{
"analyzer": "standard",
"text": "我是中国人"
}
# IK智能分词(推荐)
POST /_analyze
{
"analyzer": "ik_smart",
"text": "我是中国人"
}
# IK最大分词(细粒度,适合搜索)
POST /_analyze
{
"analyzer": "ik_max_word",
"text": "我是中国人"
}
3️⃣ 创建索引(带中文分词)
http
PUT /album_index
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
},
"mappings": {
"properties": {
"id": { "type": "long" },
"title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
},
"author": {
"type": "text",
"analyzer": "ik_max_word"
},
"intro": {
"type": "text",
"analyzer": "ik_max_word"
},
"createTime": { "type": "date" }
}
}
}
4️⃣ 新增/修改文档
http
# 新增文档(自动生成ID)
POST /album_index/_doc
{
"title": "三体",
"author": "刘慈欣",
"intro": "科幻神作",
"createTime": "2025-01-01"
}
# 新增/覆盖文档(指定ID)
PUT /album_index/_doc/1
{
"title": "三体",
"author": "刘慈欣",
"intro": "科幻神作"
}
5️⃣ 查询数据(最常用)
http
# 根据ID查询
GET /album_index/_doc/1
# 查询所有数据
GET /album_index/_search
{
"query": {
"match_all": {}
}
}
# 中文关键词搜索(核心!)
GET /album_index/_search
{
"query": {
"match": {
"title": "三体"
}
}
}
# 多字段搜索(标题+简介)
GET /album_index/_search
{
"query": {
"multi_match": {
"query": "三体",
"fields": ["title","intro"]
}
}
}
# 精准匹配(不分词)
GET /album_index/_search
{
"query": {
"term": {
"author.keyword": "刘慈欣"
}
}
}
6️⃣ 修改/删除数据
http
# 局部更新
POST /album_index/_update/1
{
"doc": {
"intro": "最新简介"
}
}
# 删除文档
DELETE /album_index/_doc/1
# 删除整个索引
DELETE /album_index
7️⃣ 高级搜索(排序、分页、高亮)
http
GET /album_index/_search
{
"from": 0,
"size": 10,
"query": {
"match": { "title": "三体" }
},
"sort": [
{ "createTime": { "order": "desc" } }
],
"highlight": {
"fields": {
"title": {}
}
}
}
8️⃣ 查看索引结构/配置
http
# 查看索引结构
GET /album_index/_mapping
# 查看索引设置
GET /album_index/_settings
索引核心操作
http
PUT /album_index
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
},
"mappings": {
"properties": {
"id": { "type": "long" },
"title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
},
"author": {
"type": "text",
"analyzer": "ik_max_word"
},
"intro": {
"type": "text",
"analyzer": "ik_max_word"
},
"createTime": { "type": "date" }
}
}
}
🚀 创建完索引后,一共就 3 个核心用法
1️⃣ 往里面添加数据(存专辑)
http
POST /album_index/_doc/1
{
"id": 1,
"title": "三体",
"author": "刘慈欣",
"intro": "科幻神作,讲述人类和外星文明的故事",
"createTime": "2025-01-01"
}
http
POST /album_index/_doc/2
{
"id": 2,
"title": "雪中悍刀行",
"author": "烽火戏诸侯",
"intro": "经典玄幻武侠,有声书超火",
"createTime": "2025-01-02"
}
2️⃣ 搜索数据
搜标题里包含 "三体"
http
GET /album_index/_search
{
"query": {
"match": {
"title": "三体"
}
}
}
搜标题 + 简介都包含 "科幻"
http
GET /album_index/_search
{
"query": {
"multi_match": {
"query": "科幻",
"fields": ["title", "intro"]
}
}
}
搜作者 "刘慈欣"
http
GET /album_index/_search
{
"query": {
"match": {
"author": "刘慈欣"
}
}
}
3️⃣ 修改 / 删除数据
修改专辑简介
http
POST /album_index/_update/1
{
"doc": {
"intro": "这是修改后的简介"
}
}
删除一条数据
http
DELETE /album_index/_doc/1