Elasticsearch(简称 ES)是一个基于 Lucene 的分布式搜索和分析引擎,常用于全文搜索、日志分析、实时数据分析等场景。以下是其基本使用方法:
1. 安装与启动
- 下载:从 官网 下载对应平台的安装包。
- 启动(以单节点为例):
默认访问地址:# 解压后进入目录
./bin/elasticsearch
http://localhost:9200
2. 核心概念
- 索引(Index):类似数据库中的“表”,存储相关数据。
- 文档(Document):索引中的一条数据(JSON 格式),类似数据库中的“行”。
- 分片(Shard)与副本(Replica):索引的分区(提高性能)和备份(保障高可用)。
3. 常用操作
创建索引
# 创建名为 "my_index" 的索引
PUT /my_index
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
}
}
插入文档
# 向索引插入一条文档(ID 为 1)
POST /my_index/_doc/1
{
"title": "Elasticsearch Guide",
"content": "This is a beginner's guide.",
"tags": ["search", "database"]
}
查询文档
# 根据 ID 查询
GET /my_index/_doc/1
# 全文搜索(查询 "content" 字段包含 "beginner" 的文档)
GET /my_index/_search
{
"query": {
"match": {
"content": "beginner"
}
}
}
删除索引
DELETE /my_index
4. 使用工具
- Kibana:可视化和管理 Elasticsearch 数据的工具,提供 Dev Tools 界面直接执行 ES 命令。
- Logstash:数据采集工具,可将日志等数据导入 ES。
- 客户端库:通过 Python、Java 等语言的客户端库(如
elasticsearch-py
)操作 ES。
5. 进阶功能
- 聚合(Aggregation):统计、分组、计算数据(如平均值、总和)。
- 分词器(Analyzer):自定义文本分词规则,优化搜索效果。
- 集群管理:监控节点状态、调整分片分布等。
示例场景:日志分析
- 使用 Logstash 将服务器日志导入 ES。
- 在 Kibana 中创建仪表盘,可视化日志错误频率、用户行为等。
学习资源
- 官方文档:https://www.elastic.co/guide/index.html
- 《Elasticsearch 权威指南》(书籍)
如果有具体需求(如性能优化、复杂查询),可以进一步探讨!