工作中经常使用es,所以想研究一下es的源码,常用的es版本为2.1.0,所以此系列以2.1.0为准
1、下载源码
网址:https://github.com/elastic/elasticsearch,选择tag为2.1.0 ,下载zip文件解压。
或者用git下载,方法为:git clone https://github.com/elastic/elasticsearch.git
之后在git环境执行git tag #可以看到2.1.0的版本
git checktout 2.1.0 即可得到2.1.0的es源码
2、编译源码
elasticsearch的源码最早使用maven管理,后期使用的是gradle。这里用的是mvn
直接执行mvn clean package -DskipTests
如果有报错,可以用根据报错下载相应的jar到本地的maven库里即可。
等出现build success信息的时候代表成功了。
可以到core/target目录下看到elasticsearch-2.1.0-SNAPSHOT.jar。
编译完成后转换成eclipse工程:
进入本地elasticsearch-2.1.0/core目录下,执行mvn eclipse:eclipse
同样会有很多报错,我遇到最多是找不到jar的解决方法是在/elasticserach-2.1.0下面对应的目录target里面去找。找到后拷贝到本地的maven repo对应的目录里面。
编译成功会看到.classpath 和.project文件。
把core 当做普通java 工程import就可以了
3、运行elasticsearch
打开刚刚导入成功的工程:
Run As----Run Configution---Args
设置ProgramArgument 为 start
设置VMArgument为 -Des.path.home=..\elasticsearch-2.1.0\core\ #对应的目录,如果不可以,用绝对路径
然后就可以运行。
可能会有[WARN ][bootstrap ] unable to install syscall filter: syscall filtering not supported for OS的警告,不过可以忽略。
最后在本地的localhost:9200可以看到运行成功
相关推荐
Elasticsearch源码分析 Elasticsearch是一款基于Lucene的分布式、RESTful搜索和数据分析引擎。它的源码解析对于我们深入理解其内部工作原理至关重要。在深入探讨之前,我们需要知道几个核心概念:分布式、RESTful ...
Elasticsearch各个Service作用说明看了不少Elasticsearch的源码,代码结构多且复杂,调用链巨长务必,其中各个xxxService更是
这个"SpringBoot整合Elasticsearch完整源码"提供了实现这一目标的详细步骤和代码实例。以下是对相关知识点的详细说明: 1. **Spring Boot**: Spring Boot是由Pivotal Team创建的,旨在简化Spring应用的初始搭建...
Elasticsearch是一款强大的开源搜索引擎,基于Lucene库构建,广泛应用于大数据分析、日志收集、实时搜索等领域。本文将深入解析Elasticsearch的核心概念、架构原理,并结合实战案例,帮助你全面掌握这一技术。 首先...
Elasticsearch是一款开源的全文搜索引擎,它以其高效、可扩展性以及灵活性著称。源码分析可以帮助我们深入了解其内部机制,提升对搜索技术的理解。Elasticsearch 5.0.1是该产品的一个稳定版本,提供了诸多改进和新...
Elasticsearch是一款开源、分布式、实时的全文搜索和分析引擎,基于Lucene构建,广泛应用于日志分析、实时监控、数据搜索等多个领域。其核心特性包括强大的全文检索能力、分布式架构、自动分词、高可扩展性和实时性...
**Elasticsearch(ES)详解** Elasticsearch是一款开源、分布式、实时的全文搜索引擎,它基于Lucene构建,被广泛用于大数据分析、日志聚合、实时搜索和索引等场景。其强大的功能和易用性使得它在IT行业中备受青睐。...
Elasticsearch是一个基于Lucene构建的开源搜索引擎,它允许用户快速执行全文搜索、结构化搜索甚至是复杂分析。Intellij IDEA是一个强大的集成开发环境(IDE),它广泛用于Java开发,并支持其他编程语言和框架,包括...
对于Elasticsearch,其源码分析可以关注以下几个关键部分: 1. **集群通信**:看`TransportModule`和`TransportService`如何实现节点间的通信,了解Gossip协议和Heartbeat机制。 2. **索引构建**:研究`IndexShard`...
通过深入学习和实践黄申翻译的《Elasticsearch实战》中的源码,读者不仅可以掌握Elasticsearch的基本操作,还能了解到如何在实际项目中运用这些知识,解决大数据搜索和分析的问题。无论是对初学者还是经验丰富的...
Elasticsearch(简称ES)是一款基于Lucene的分布式、RESTful搜索和分析引擎,广泛应用于大数据处理、日志分析、实时搜索等领域。这本书针对不同层次的读者,提供了深入浅出的技术解析和实战指导。 **1. Elastic...
Elasticsearch(简称ES)是一个开源的分布式搜索和分析引擎,最初由Elastic公司创建。它属于Elastic Stack(ELK Stack)的核心组件之一,用于实时地存储、检索和分析大量数据。
**Elasticsearch 5.0.1 Core Main 源码分析** Elasticsearch 是一个流行的、开源的全文搜索引擎,广泛应用于数据分析、日志管理和实时搜索等场景。5.0.1 版本是 Elasticsearch 的一个重要里程碑,它引入了许多新...
Elasticsearch是一款开源的全文搜索引擎,基于Lucene构建,设计目标是提供一个分布式、RESTful风格的搜索和数据分析引擎。朱林的《Elasticsearch技术解析与实战》深入浅出地介绍了这个强大的工具,旨在帮助读者掌握...
ES(elasticSearch6.4.0)之java API源码demo-完整注释版,本版本为上一demo版本升级版,封装了ES的javaAPI,支持了模糊查询,排序查询,解析,分页查询等功能,如果有问题请留言。我会及时回复。
Elasticsearch 7.14.0 是一个高度可扩展的全文搜索引擎,广泛应用于日志分析、实时数据分析和全文检索等多个领域。这个压缩包包含了针对Windows和Linux操作系统的安装包,便于在不同环境下部署和使用Elasticsearch。...
Elasticsearch(简称ES)是一款强大的开源搜索引擎,它以其分布式、实时、可扩展的特性,在大数据处理和实时分析领域广泛应用。本篇将通过"**ElasticSearchTest**"这个源码文件,探讨Elasticsearch在索引管理、文档...
Elasticsearch是一个基于Lucene的开源全文搜索和分析引擎,广泛应用于日志分析、实时数据分析、网站搜索等多个场景。通过学习这本书的源码,开发者可以提升对Elasticsearch的掌控能力,从而更高效地利用它来处理和...