`
wjboy49
  • 浏览: 284587 次
  • 性别: Icon_minigender_1
  • 来自: 湖南岳阳
社区版块
存档分类
最新评论

ElasticSearch 源码分析 环境入门

阅读更多

       现在网上对于ElasticSearch(ES)方面的资料很少,而且对于ES源码方面的资料也很少,我自己看了一下ES源码,也不知道我的理解是不是正确的,就想把我自己的一些理解贴出来,一起探讨一下,希望如果发现错误跟及时给我留言,我们一起研究,共同进步。

       ES我就不介绍了http://baike.baidu.com/view/8005387.htm这里有详细.

       首先我们要知道几个网址:

       http://www.elasticsearch.org/  官方网址

       http://s.medcl.net/    ES中文资料

       https://github.com/elasticsearch/elasticsearch   源码下载地址

   我的开发环境是 Eclipse+Maven ,首先我们先把源码下载下来,再执行"mvn package -DskipTests ",成功了?反正我是失败了,编译出错

 

[ERROR] ...\elasticsearch-src\elasticsearch\src\main\java
\org\elasticsearch\search\internal\InternalSearchHits.java:[23,0] 找不到符号
[ERROR] 符号: 静态 readSearchHit
 

     查看了一下源码23行是静态导入,这是编译环境问题先用Eclipse编译,再继续,搞定。

 

     通过上面的步骤源码就可以被跑起来了,打开    bin\elasticsearch.bat

 

"%JAVA_HOME%\bin\java" %JAVA_OPTS% %ES_JAVA_OPTS% %ES_PARAMS% %* -cp "%ES_CLASSPATH%" "org.elasticsearch.bootstrap.ElasticSearch"

     可以明显看出启动类为:

org.elasticsearch.bootstrap.ElasticSearch

  而ElasticSearch.java类很简单

 

public class ElasticSearch extends Bootstrap {

    public static void close(String[] args) {
        Bootstrap.close(args);
    }

    public static void main(String[] args) {
        Bootstrap.main(args);
    }
}
 

    直接调用的是Bootstrap.main方法,也就是说我们直接运行Bootstrap类,跟运行ElasticSearch是一样的。我以Bootstrap类启动为例,运行后大家会发现控制台没有输出,我开始以为是log4j配置问题, 找到org.elasticsearch.common.logging.log4j.LogConfigurator  发现配置应该不可能有问题,最后在Bootstrap类找到了原因

 boolean foreground = System.getProperty("es.foreground", System.getProperty("es-foreground")) != null;
        // handle the wrapper system property, if its a service, don't run as a service
if (System.getProperty("wrapper.service", "XXX").equalsIgnoreCase("true")) {
            foreground = false;
}
...
 if (!foreground) {
                Loggers.disableConsoleLogging();
                System.out.close();
  }
 

 

 

foreground为false 把控制台关闭了,把foreground设置为true即可,源码环境就搭建完了。

1
4
分享到:
评论
1 楼 shenbai 2012-08-10  
如果你要在前台运行,你应该run得是ElasticSearchF类。

相关推荐

    bboss-elasticsearch开发环境搭建和开发入门视频教程.

    **Elasticsearch 开发环境搭建与 BBoss 入门教程** Elasticsearch 是一个高度可扩展的开源全文搜索引擎,设计用于快速提供近实时的搜索和分析能力。BBoss(Business Boss)是基于Elasticsearch的一个强大且灵活的...

    Intellij IDEA编译调试Elasticsearch 6.1.0源码

    如果你是Intellij IDEA和Elasticsearch的初学者,希望这些步骤能够帮助你顺利入门并进行源码调试。同时,请注意,官方文档和社区是解决遇到问题的宝贵资源,它们能为你提供许多有用的建议和解决方案。

    Elasticsearch API

    Elasticsearch常用于大数据环境下的复杂搜索需求和日志分析等领域。 在讨论Elasticsearch API之前,需要了解Elasticsearch的核心组件。Elasticsearch的集群由一个或多个节点组成,每个节点被称为一个Elasticsearch...

    elasticsearch RESTful搜索引擎-(java jest 使用[入门])

    **Elasticsearch RESTful搜索引擎与Java Jest库的入门教程** Elasticsearch是一个强大的分布式、开源的全文搜索引擎,它提供了一个可扩展的、近实时的搜索和分析引擎。RESTful API是Elasticsearch的核心特性,允许...

    ElasticSearch7.x入门到案例实战教程

    Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 ElasticSearch应用场景维基百科,类似...

    ElasticSearch入门

    Elasticsearch(简称 ES)是一种基于 Lucene 的开源分布式搜索引擎,它提供了全文检索、分析、实时等高级功能。作为NoSQL数据库的一种,Elasticsearch以其高效、灵活和可扩展性在大数据时代备受青睐,广泛应用于日志...

    Elasticsearch-2.3.5安装说明

    Elasticsearch 是一个开源的分布式搜索引擎,以其实时性、高可扩展性和强大的分析能力而受到广泛欢迎。版本2.3.5是Elasticsearch的一个稳定版本,提供了许多关键功能和性能优化。在本文中,我们将详细介绍如何安装和...

    从入门到深入学习ES最全笔记

    【Elasticsearch 入门与深入学习】 Elasticsearch 是一款基于 Lucene 的开源全文搜索引擎,它提供了一个分布式、 RESTful 风格的搜索和分析引擎,适用于各种规模的企业。由于其高度可扩展性和易用性,Elasticsearch...

    ElasticSearch从入门到企业实战教程(附源码)

    Elasticsearch是一个分布式、开源的全文搜索引擎,设计用于云计算环境中,提供实时数据分析和...通过源码分析和实战项目,学习者能够深入理解Elasticsearch的工作原理,并具备独立开发和维护Elasticsearch系统的能力。

    一站式掌握elastic search基础与实战视频资源-百度云链接

    视频资源太大,这里提供百度云链接: 资源包括项目源码和所需的数据: 01-1 _课程导学~1.mp4 01-2 说明和建议~1.mp4 02-1 -术语介绍 .mp4 02-2 Document介绍.mp4 02-3 index介绍 .mp4 02-4 -restapi介绍 .mp4 02-5 -...

    资源前后端分离式分布式微服务架构项目课程发布ElasticSearch讲义+源码+视频

    - **了解ES的三个配置文件**:`elasticsearch.yml`, `log4j2.properties`, 和 `jvm.options` 文件的作用及配置要点。 #### 四、ES快速入门 这部分旨在帮助初学者快速上手ElasticSearch,通过一系列基础操作熟悉...

    elasticsearch-learning

    Kibana 和 CerebroLogstash 安装与导入数据第 3 章:Elasticsearch 入门基本概念(1):索引,文档和 REST API基本概念(2):节点,集群,分片及副本文档的基本 CRUD 与批量操作倒排索引入门通过分析器进行分词...

    java8集合源码-udemy_ElasticSearch:udemy_ElasticSearch

    讲座:Elasticsearch 完整指南 重要更新:由于版本 7 类型将被删除,默认类型应替换为_doc类型 第 1 部分 - 入门 第 2 课 - Elasticsearch 介绍 Elasticsearch 是一个分析和全文搜索引擎。 它在应用程序中启用搜索...

    springdata_es_demo.zip

    通过阅读和分析"springdata_es_demo.zip"的源码,你将能够掌握SpringData Elasticsearch的基本使用方法,为后续的开发工作打下坚实的基础。在实践中不断探索和优化,你会发现SpringData Elasticsearch为数据操作带来...

    word源码java-ElasticSearch-Simple-Share:组内关于ElasticSearch的简单使用说明内容分享

    Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 Elasticsearch 不仅仅是 Lucene,

    Android从 入门到精通-源码

    源码分析可以帮助我们更好地理解和优化网络请求,提高应用的网络性能。 再者,Android的多媒体支持也值得研究。`media`目录包含音频、视频处理的代码,对于开发音乐、视频播放应用非常有帮助。 对于游戏开发者,...

    Android高级应用源码-Android 游戏开发入门随书光盘的代码.zip

    源码分析: 1. **基础游戏架构**:在9781430230427(1)这个文件中,你可以看到一个基本的游戏框架设计。它通常包括游戏循环、渲染系统、事件处理和物理模拟等核心模块。学习这些代码,可以帮助开发者理解如何构建一...

    Java进阶教程数据层全栈方案SpringData高级应用视频教程

    本次课程以SpringData为中心,重点讲解了其JPA组件,扩展讲解了redis,mongDB,ES组件,并且对部分组件做了必要的源码分析。而且在课程的最后部分加入了一个综合案例,可以将前面章节所学知识点应用到一个项目中,帮助...

    明日科技-android第三章源码

    在Android开发领域,源码分析是一项至关重要的技能,它能帮助开发者深入理解系统的工作原理,优化代码性能,以及解决复杂的bug。"明日科技-android第三章源码"这一资源显然是一个针对Android开发的学习材料,可能是...

Global site tag (gtag.js) - Google Analytics