Elasticsearch 架构与数据处理全解析
1. Elasticsearch 概述
Elasticsearch 是一款服务器端应用程序,它的运行环境十分广泛,从个人电脑到处理千兆字节甚至拍字节数据的计算机集群都能胜任。它基于 Java 编程语言开发,核心采用了 Apache Lucene 库。
Apache Lucene 是用 Java 开发的高性能全文搜索库,以其强大的搜索和索引功能闻名。不过,Lucene 并非一个可以直接下载、安装并使用的完整应用程序,作为一个库,需要通过编程接口将其集成到应用中。而 Elasticsearch 正是将 Lucene 封装为核心全文搜索库,构建了一个分布式、可扩展的服务器端应用程序,打造了以 Lucene 为核心的与编程语言无关的全文搜索应用。
Elasticsearch 不仅仅是一个全文搜索引擎,它还发展成为一个具备聚合和分析功能的流行搜索引擎,可应用于多种场景,如应用程序监控、日志数据分析、网页应用搜索功能、安全事件捕获、机器学习等。它以可分布式和高速为主要目标,是一款高性能、可扩展的现代搜索引擎。
2. Elasticsearch 的数据处理流程
2.1 数据输入
Elasticsearch 在为我们提供查询答案之前需要数据。数据可以通过多种来源和方式索引到 Elasticsearch 中,例如从数据库提取、从文件系统复制文件,甚至从包括实时流系统在内的其他系统加载。常见的数据摄入来源和方式如下:
- 数据库 :应用程序通常将数据存储在数据库中作为权威记录系统。我们可以批量或近实时地从数据库中提取数据来为 Elast
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



