1. 程式人生 > >elasticsearch java api 建立客戶端連線(Transport Client)

elasticsearch java api 建立客戶端連線(Transport Client)

現在寫一個簡單的小例子建立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;
}