官方下载地址:Download Elasticsearch | Elastic
我在linux上执行的下载命令:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.5.3-linux-x86_64.tar.gz
Elasticsearch(简称ES)是一款基于Apache Lucene的开源分布式搜索引擎,它能够实现数据的快速搜索、日志统计、分析以及系统监控等多样化功能。作为elastic stack的核心组件,它与Logstash、Kibana和Beats共同构成了ELK技术栈,广泛应用于日志数据分析和实时监控领域。以下是对Elasticsearch的具体介绍:
-
核心概念
- 文档和字段:Elasticsearch是面向文档存储的,每条数据都可以视为一个文档,以JSON格式存储。每个文档包含多个字段,类似于数据库中的列。
- 索引和映射:索引可以看作是相同类型文档的集合,相当于数据库中的表。映射则定义了索引中文档的字段约束信息,类似于数据库的表结构。
- 分词器:分词器负责将文本数据分割成一个个的词条,这是创建倒排索引的基础步骤。分词器的选取直接影响到搜索结果的准确性和相关性。
-
工作原理
- 倒排索引:Elasticsearch通过构建倒排索引来加快搜索速度。倒排索引由文档和词条构成,能够高效地根据词条找到包含该词条的所有文档。
- 架构特点:Elasticsearch采用分布式架构,支持水平扩展,这使得它能够处理的数据量远超传统数据库。同时,它的实时搜索能力意味着数据一旦被索引即可被搜索到。
-
应用场景
- 日志分析:利用Elasticsearch收集并分析系统和应用的日志数据,帮助开发者监控系统状态,及时发现和解决问题。
- 全文检索:为网站或应用提供全文搜索功能,用户可以通过关键词快速找到所需内容。
- 数据分析:支持复杂的数据分析操作,如聚合、分组等,帮助企业从海量数据中提取有价值的信息。
-
性能优化
- 集群部署:通过集群部署,Elasticsearch能够在多个节点间分配工作负载,提高数据处理能力和容错性。
- 索引管理:定期对索引进行维护,如清理无用索引、优化索引结构,以保持搜索性能。
-
高级特性
- 安全性配置:Elasticsearch提供了多种安全措施,如访问控制、加密通信等,保护数据不被未授权访问。
- 机器学习集成:集成了机器学习功能,可以自动发现数据中的异常模式,预测未来趋势等。
Windows安装运行
1、配置文件,上面路径下载解压后,对应解压目录下的以下文件中添加内容(config/elasticsearch.yml)
discovery.seed_hosts: ["0.0.0.0", "127.0.0.1"]
network.host: 0.0.0.0
http.port: 9200
path.data: /path/to/data
path.logs: /path/to/logs
xpack.security.enabled: false
2、到该解压文件的bin目录,运行脚本:
elasticsearch-service.bat install
elasticsearch-service.bat start
elasticsearch-service.bat stop
elasticsearch-service.bat remove
# 使用start命令没有报错,但是无法正常访问9200端口,使用以下命令启动可以参看详细内容
elasticsearch.bat
3、服务器启动后访问查看:http://localhost:9200/,正常运行可以看到对应JSON