`
wjboy49
  • 浏览: 274926 次
  • 性别: 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类。

相关推荐

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

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

    elasticsearch-learning

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

    一站式掌握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 -...

    java8集合源码-udemy_ElasticSearch:udemy_ElasticSearch

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

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

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

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

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

    Spring高级之注解驱动开发视频教程

    里面包含了JDBC,Data JPA,Data Redis,Data Mongodb,Data Rabbit,Data ElasticSearch等等。合集中的每一项都是针对不同数据存储做的简化封装,使我们在操作不同数据库时,以最简洁的代码完成需求功能。 Spring...

    毕设&课设&项目&实训-基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎.zip

    所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通...

    《Android应用开发实战》配套源码

    此为《Android应用开发实战》一书的配套源码。 出版时间: 2012年1月1日  全面介绍了Android的系统架构、开发环境的搭建、Android应用程序的常用组件,以及一个简单的微博客户端的实现方法,为接下来动手实现本书...

    单点登录源码

    Solr & Elasticsearch | 分布式全文搜索引擎 | [http://lucene.apache.org/solr/](http://lucene.apache.org/solr/) [https://www.elastic.co/](https://www.elastic.co/) Quartz | 作业调度框架 | ...

    毕业设计项目-基于Spark网易云音乐数据分析系统源码+项目说明(含爬虫).zip

    包含爬虫,Scala代码,Spark,Hadoop,ElasticSearch,logstash,Flume,echarts,log4j emotional_analysis_spider 爬虫模块 emotional_analysis_web 数据处理模块(Scala代码) emotional_analysis_recommend 推荐模块...

    超全golang面试题合集+golang学习指南+golang知识图谱+入门成长路线.zip

    【超全golang面试题合集+golang学习指南+golang知识图谱+入门成长路线】 一份涵盖大部分golang程序员所需要掌握的核心知识。常用第三方库(mysql,mq,es,redis等)+机器学习库+算法库+游戏库+开源框架+自然语言处理nlp...

    博客:大前端技术为主,读书笔记,随笔,理财为辅,做个终身学习者

    webpack原理及源码分析 精彩待续... Vue原理及源码分析 精彩待续... 小程序入门到熟练 精彩待续... 前端开发路线图 服务器 笔者觉得每个开发者都应该拥有自己的网站和服务器,这可是很酷的事情,学习Linux,跑跑脚本...

    js-deep:js深入学习

    前端进阶JavaScript基础:JavaScript数据类型JavaScript代码运行机制作用域和作用域链let/const/var的区别JavaScript高阶编程技巧原型和原型链的底层运行机制this指向数据...axios源码分析设计模式:手写发布订阅模式

    毕设&课设&项目&实训-基于 Spring Boot、MyBatis-Plus、MySQL等主流技术栈,附详细教程.zip

    基于 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等主流技术栈,附详细教程,包括Java、Spring、MySQL、Redis、微服务&分….所有源码均经过严格测试,可以直接运行,...

    zeppelin:齐柏林飞艇es

    Zeppelin ,一个基于Web的笔记本,可进行交互式数据分析。 您可以使用SQL,Scala等制作漂亮的数据驱动,交互式和协作式文档。 核心功能: 基于Web的笔记本样式编辑器。 内置Apache Spark支持 要了解有关齐柏林...

Global site tag (gtag.js) - Google Analytics