
天天
简单来说,Elasticsearch(简称 ES)就是一个超级强大的搜索引擎。想象一下,你有几百万条数据,如果用传统数据库一条条找,可能要找到天荒地老。但用 ES,几毫秒就能搞定!
它就像是给你的数据装了个 Google 搜索引擎,不管是商品、日志、文章,还是用户信息,都能秒速查找。
截止到目前(2025 年 9 月 11 日 08:51:18),商店中的版本是一个单节点的服务,还没有集成看板功能,所以应用打开后,是这个页面:

上面是 Elasticsearch 服务启动后的欢迎页面,显示了当前节点和集群的状态、版本号(如 9.0.0)、集群名称(如 docker-cluster)等。这说明你的 Elasticsearch 实例已经运行,可以通过 API 进行数据操作和检索。
通过懒猫应用查看器,发现目前的验证是关闭的,不需要密码就能访问服务

打开终端,输入命令
curl -X GET "https://elasticsearch.你的懒猫.heiyu.space/_cat/health?v"
如果成功,你将看到类似如下的返回结果,显示集群的状态、节点数量等信息:

查看当前集群中所有的索引:
curl -X GET "https://elasticsearch.lanmao168.heiyu.space/_cat/indices?v"

这将列出所有的索引,包括它们的名称、状态等信息。我目前还没有数据,所以都是空的。
用命令行看起来有点费劲,下面我用 postman 演示功能。注意lanmao168 是我的微服,需要你改成自己的。
https://elasticsearch.lanmao168.heiyu.space/products
{}
PUT 请求创建一个名为 products 的索引。{} 即可创建索引。PUT 方法。https://elasticsearch.lanmao168.heiyu.space/products。Body,并选择 raw 格式。raw 中选择 JSON 格式,内容写 {}。Send 按钮发送请求。
如果索引创建成功,你会看到返回类似以下内容:
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "products"
}
https://elasticsearch.lanmao168.heiyu.space/products/_doc/1
{
"name": "Smartphone",
"brand": "BrandX",
"price": 699.99,
"category": "Electronics"
}
POST 请求向 products 索引中添加一条文档。1,内容是关于一款名为 Smartphone 的产品。POST 方法。https://elasticsearch.lanmao168.heiyu.space/products/_doc/1。Body,并选择 raw 格式。raw 中选择 JSON 格式,填入上面的文档内容。Send 按钮发送请求。
如果文档添加成功,你会看到类似以下的返回:
{
"_index": "products",
"_id": "1\n",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 1
}
https://elasticsearch.lanmao168.heiyu.space/products/_search
q=name:Smartphone
GET 请求来查询 products 索引中所有 name 字段为 Smartphone 的文档。在 Postman 中,选择 GET 方法。
在 URL 栏中输入 https://elasticsearch.lanmao168.heiyu.space/products/_search。
在 Params 标签下添加一个参数:
qname:Smartphone点击 Send 按钮发送请求。

返回的结果类似如下:
{
"took": 283,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 1,
"relation": "eq"
},
"max_score": 0.2876821,
"hits": [
{
"_index": "products",
"_id": "1\n",
"_score": 0.2876821,
"_source": {
"name": "Smartphone",
"brand": "BrandX",
"price": 699.99,
"category": "Electronics"
}
}
]
}
}
https://elasticsearch.lanmao168.heiyu.space/products/_doc/1
{
"doc": {
"price": 799.99
}
}
PUT 请求来更新文档 ID 为 1 的 price 字段。PUT 方法。https://elasticsearch.lanmao168.heiyu.space/products/_doc/1/_update。Body,并选择 raw 格式。raw 中选择 JSON 格式,填入需要更新的数据。Send 按钮发送请求。
如果更新成功,你会看到返回的 JSON:
{
"_index": "products",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}
https://elasticsearch.lanmao168.heiyu.space/products/_doc/1
DELETE 方法删除 products 索引中 ID 为 1 的文档。DELETE 方法。https://elasticsearch.lanmao168.heiyu.space/products/_doc/1。Send 按钮发送请求。
删除成功后,返回的响应如下:
{
"_index": "products",
"_id": "1",
"_version": 3,
"result": "deleted",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 3,
"_primary_term": 1
}
Elasticsearch 不是银弹,但在搜索和日志分析场景下,它确实是个利器。不管你是要做商品搜索、日志分析,还是实时监控,ES 都能帮你轻松搞定。
先用单机版本熟悉功能,有需要再扩展集群,掌握了 ES 的核心概念和使用技巧,你就能在数据的海洋中游刃有余。
评论
0暂无评论