ElasticSearch前言

ElasticSearch前言

本节介绍elasticsearch提供的Java API,所有elasticsearch操作都使用Client对象执行。所有操作在本质上是完全异步的。


另外,客户端上的操作可以被积累并且被批量执行。


注意,所有APIS通过JAVA API的方式公开(实际上,JAVA API 在内部执行它们)。



MAVEN 仓库

Elasticsearch的JAVA Client的Jar包托管在Maven Central上。

例如,您可以在pom.xml文件中依赖最新版本的JAR:


<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>transport</artifactId>
    <version>5.1.1</version>
</dependency>

你还需要添加Log4j的依赖:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.7</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.7</version>
</dependency>

并且你需要提供一个Log4j的配置文件,例如, 你可以在你的 src/main/resources 文件夹下添加一个 log4j2.properties 文件 ,像这样

appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout

rootLogger.level = info
rootLogger.appenderRef.console.ref = console

如果你不想用Log4j 2的话, 你还个一使用SLF4J替代它。

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-to-slf4j</artifactId>
    <version>2.7</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.21</version>
</dependency>


这个网页(http://www.slf4j.org/manual.html)列出了你可以使用的替代方案,你可以将你喜欢的日志工具添加到你的项目依赖中,例如,我们使用slf4j-simple logger:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.21</version>
</dependency>

处理JAR包的依赖冲突:

如果你要在你的Java程序中使用ElasticSearch,你可能必须处理与第三方JAR包的版本冲突的问题。例如, ElasticSearch使用Joda 2.8, 而你的代码中使用的是Joda 2.1.

如果出现这种情况的话, 你有两个选择:

   1. 最简单的解决方案是更新。较新的的JAR包可能已经修复了一些老的Bug,你落后的越远,你的升级将变得越困难。当然,你如果使用第三方的JAR包,而后者依赖与一个更老的JAR包,这将会阻止你的升级。

  2.第二个方案是重定位麻烦的依赖关系,使你的应用程序或ElasticSearch和ElasticSearch客户端所需要的任何JAR分离开。“To shade or not to shade”(https://www.elastic.co/blog/to-shade-or-not-to-shade)博客文章描述了这样做的所有步骤。




















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值