1.创建Maven项目的时候,因为是公司内网,所以需要解决代理的问题,配置代理
2.创建Maven项目
3.配置pom.xml,引用jar包
注意:本文使用的ES是5.2版本的,所以下载的jar包必须在5.0以上,否则运行报错
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.h3c</groupId>
<artifactId>es4j_test003</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>es4j_test003 Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>5.3.0</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>5.3.0</version>
</dependency>
<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>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
<build>
<finalName>es4j_test003</finalName>
</build>
</project>
4.编码
创建package,并创建ElasticSearch4Java测试类
package com.ximua.es4j; import org.elasticsearch.action.get.GetResponse; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.cluster.node.DiscoveryNode; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.InetSocketTransportAddress; import org.elasticsearch.transport.client.PreBuiltTransportClient; import org.junit.Before; import org.junit.Test; import java.net.InetAddress; import java.util.HashMap; import java.util.List; import java.util.Map; public class ElasticSearch4Java { private TransportClient client; private IndexRequest source; /** * 获取连接, 第一种方式 * @throws Exception */ @Before public void before() throws Exception { //设置集群名称 Map<String, String> map = new HashMap<String, String>(); map.put("cluster.name", "elasticsearch"); Settings settings = Settings.builder().put(map).build(); //创建客户端client client = new PreBuiltTransportClient(settings) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"), Integer.parseInt("9300"))); } /** * 查看集群信息 */ @Test public void NodeHealthInfoTest() { List<DiscoveryNode> nodes = client.connectedNodes(); for (DiscoveryNode node : nodes) { System.out.println(node.getHostAddress()); } } //api 查询 @Test public void SearchDocumentTest(){ GetResponse response = client.prepareGet("website","article","1").execute().actionGet(); String result = response.getSourceAsString(); System.out.println(result); } }
执行结果:
1)查看集群IP地址:
127.0.0.1
2)查询
{
"title":"second article",
"content":"this is my second article",
"post_date":"2017-01-01",
"author_id":100
}