结论先行(给你选项)
Windows 下往 Elasticsearch 添加数据,只有这 4 种正经方式:
- curl(最直接,命令行)
- Kibana Dev Tools(最舒服)
- PowerShell(Windows 原生)
- 程序写入(Python / Java / JavaScript)
我按你当前阶段,从最合理到最不该用的顺序讲。
一、方式 1:Windows 自带 curl(你现在就能用)
Windows 10+ 已经内置 curl,不用装。
1️⃣ 打开 CMD(不是 PowerShell)
bat
cd D:\Program\elasticsearch-8.13.4
2️⃣ 插入一条数据
bat
curl -X POST "http://localhost:9200/test/_doc/1" ^
-H "Content-Type: application/json" ^
-d "{\"name\":\"Tom\",\"age\":30}"
看到 "result":"created" 就对了。
3️⃣ 查询验证
bat
curl "http://localhost:9200/test/_search?pretty"
二、方式 2:PowerShell(更符合 Windows 思维)
如果你讨厌 curl,这个更"Windows"。
插入数据
powershell
Invoke-RestMethod `
-Uri http://localhost:9200/test/_doc/2 `
-Method Post `
-ContentType "application/json" `
-Body '{"name":"Alice","age":25}'
查询
powershell
Invoke-RestMethod http://localhost:9200/test/_search?pretty
优点:
- 不用装任何东西
- 适合写脚本、批量导入
三、方式 3:Kibana(如果你不是纯后端)
如果你要长期用 ES ,而不是"验证一下就算",
不装 Kibana 是浪费时间。
步骤
-
下载 Kibana 8.13.4(版本必须匹配)
-
启动:
batbin\kibana.bat -
打开:
http://localhost:5601 -
Dev Tools → Console
插数据(最清晰)
http
POST test/_doc
{
"name": "Bob",
"age": 40
}
这是官方推荐的开发方式。
四、方式 4:程序写入(你迟早要走到这一步)
Python 示例(最少代码)
python
from elasticsearch import Elasticsearch
es = Elasticsearch("http://localhost:9200")
es.index(
index="test",
id=3,
document={"name": "Carol", "age": 35}
)
适合:
- 数据同步
- ETL
- 日志/指标采集
五、你现在的一个关键问题(我必须点破)
你现在问的是:
"windows 怎么添加"
这是在逃避设计问题。
真正的问题应该是:
"我打算往 ES 里加什么类型的数据?"
如果你现在:
- 随便
_doc写 JSON - 不建 mapping
- 不想索引策略
那么 2 周后你一定会遇到:
- 字段类型错
- 聚合做不了
- 查询慢
- 索引推倒重建