Elasticsearch教程elasticsearch Client创建
生活随笔
收集整理的這篇文章主要介紹了
Elasticsearch教程elasticsearch Client创建
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Elasticsearch? 創(chuàng)建Client有幾種方式。
首先在 Elasticsearch? 的配置文件 elasticsearch.yml中。定義cluster.name。如下:
cluster.name: sojson-application創(chuàng)建方式一:
import static org.elasticsearch.node.NodeBuilder.*; //節(jié)點方式創(chuàng)建。 Node node = nodeBuilder().clusterName("yourclustername").node(); Client client = node.client(); /* 還有很多節(jié)點方式的創(chuàng)建方式,查看下面的官網(wǎng)地址。 https://www.elastic.co/guide/en/elasticsearch/client/java-api/2.0/node-client.html */創(chuàng)建方式二:
/** * 指定 ip地址創(chuàng)建 */ // on startup Client client = TransportClient.builder().build() .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300)) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));// on shutdown client.close();創(chuàng)建方式三:
//按集群名稱創(chuàng)建 Settings settings = Settings.settingsBuilder() .put("cluster.name", "sojson-application").build(); Client client = TransportClient.builder().settings(settings).build(); //Add transport addresses and do something with the client...創(chuàng)建方式四:
//同一內(nèi)網(wǎng)Ip段,嗅的方式自己查找,組成集群。 Settings settings = Settings.settingsBuilder() .put("client.transport.sniff", true).build(); TransportClient client = TransportClient.builder().settings(settings).build(); /* 客戶端允許嗅其余的集群,它將數(shù)據(jù)節(jié)點添加到列表的機器使用。在這種情況下要注意,將使用的IP地址的其他節(jié)點開始(“publish”地址)。啟用它,設(shè)置client.transport.sniff為 true: */其實還有很多方式。具體使用哪種,看自己需求。
我的工具類:
package com.sojson.core.elasticsearch.utils;import java.net.InetAddress;import org.elasticsearch.client.Client; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.InetSocketTransportAddress;import com.sojson.common.utils.LoggerUtils; import com.sojson.core.config.IConfig;public class ESTools {public final static Client client = build();public final static Class clazz = ESTools.class;/** * 創(chuàng)建一次 * @return */ private static Client build(){ if(null != client){ return client; } Client client = null; String ip = IConfig.get("es_ip"); LoggerUtils.fmtDebug(clazz, "獲取ESIP地址:%s", ip); try { LoggerUtils.fmtDebug(clazz, "創(chuàng)建Elasticsearch Client 開始"); Settings settings = Settings .settingsBuilder() .put("cluster.name","sojson-application") .put("client.transport.sniff", true) .build(); client = TransportClient.builder().settings(settings).build() .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(ip), 9300)); LoggerUtils.fmtDebug(clazz, "創(chuàng)建Elasticsearch Client 結(jié)束"); } catch (Exception e) { LoggerUtils.fmtError(clazz, e, "創(chuàng)建Client異常"); } return client; }/** * 關(guān)閉 */ public static void close(){ if(null != client){ try { client.close(); } catch (Exception e) {} } }}總結(jié)
以上是生活随笔為你收集整理的Elasticsearch教程elasticsearch Client创建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Elasticsearch教程 elas
- 下一篇: elasticsearch Insert