现在写一个简单的小例子创建elasticsearch客户端连接,这里我使用Transport Client,去创建客户端连接
它可以应用在多个方面
- 在elasticsearch平台中,可以执行创建索引,获取索引,删除索引,搜索索引,在现有的集群服务器中
- 在集群服务器中,可以执行管理任务
- 当你想运行自己的应用程序中嵌入Elasticsearch开始全面节点或者当你想推出的单元或集成测试
等等 ....
下面创建Transport Client连接
准备环境:
- eclipse
- maven
- junit
目录结构,非常简单直接看看pom.xml的代码
pom.xml
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mkfree</groupId>
<artifactId>elasticsearchTest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>0.20.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>
</project>
简单的客户端连接代码
ESClient.java
package com.mkfree.test;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.ImmutableSettings;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.junit.After;
import org.junit.Before;
public class ESClient {
/**
* 初始化客户端连接
*/
@Before
public void initESClient() {
// 配置你的es,现在这里只配置了集群的名,默认是elasticsearch,跟服务器的相同
Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "elasticsearch").build();
// 这里可以同时连接集群的服务器,可以多个,并且连接服务是可访问的
client = new TransportClient(settings).addTransportAddress(
new InetSocketTransportAddress("192.168.9.140", 9300)).addTransportAddress(
new InetSocketTransportAddress("host2", 9300));
}
@After
public void closeESClient() {
client.close();
}
private Client client;
}
本文章来自:http://blog.mkfree.com/post/5167a54b975a2683ccfee2cd