Elasticsearch2.3.3 因产品需要升级到Elasticsearch5.4.0 客户端的链接方式和引用的jar 发生变化。
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>5.4.0</version>
</dependency>
<!-- s升级需要依赖的 -->
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>5.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.8.2</version>
</dependency>
5.4用到log4j2 所以要新建log4j2.properties 里面的内容如下:
# 对 es 升级到5.4 依赖的log4j2
appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout
rootLogger.level = info
rootLogger.appenderRef.console.ref = console
放到resources目录下
java客户端链接方式如下:
Settings settings = Settings.builder().put("cluster.name", "elasticsearch.cluster2").build();
// 创建client
TransportClient client = new PreBuiltTransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.186.30"), 9300));
GetResponse response = client.prepareGet("indexName", "typeName", "id").get();
System.out.println("response.getSourceAsString():"+response.getSourceAsString());