elasticsearch java api 建立客戶端連線(Transport Client)
阿新 • • 發佈:2018-12-31
現在寫一個簡單的小例子建立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; }