连接ES有3中方式:

①transport方式

②rest方式

③JEST方式(第三方)

我自己项目使用第一种方式,代码和配置如下:

1、引入依赖

<dependency>
  <groupId>org.elasticsearch</groupId>
  <artifactId>elasticsearch</artifactId>
  <version>6.2.3</version>
</dependency>

<dependency>
  <groupId>org.elasticsearch.client</groupId>
  <artifactId>transport</artifactId>
  <version>6.2.3</version>
  <exclusions>
    <exclusion>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    </exclusion>
  </exclusions>
</dependency>

2、配置

es.cluster-name=csmses
es.ip=30.23.8.172,30.23.8.173,30.23.8.174,30.23.8.175,30.23.8.176
es.port=9300
es.pool=5

3、代码

/**
* TransportClient方式连接ES
* @author wangymd
*
*/
@Configuration
public class EsConfig {

private Log log = LogFactory.getLog(EsConfig.class);

@Autowired
private Environment env;

@Bean
public TransportClient transportClient() throws UnknownHostException{
  Settings settings = Settings.builder()
  .put("cluster.name", env.getProperty("es.cluster-name"))
  .put("client.transport.sniff", true)
  .put("thread_pool.search.size", Integer.valueOf(env.getProperty("es.pool")))
  .build();
  TransportClient esClient = new PreBuiltTransportClient(settings);
  String ipStr = env.getProperty("es.ip");//多个IP
  String port = env.getProperty("es.port");//端口一致9300
  log.info("@@@@@@@@TransportClient方式连接ES@@@@@@@@。IP:" + ipStr + ", PORT:" + port);
  String[] ips = ipStr.split(",");
  for (String ip : ips) {
    if(StringUtils.isNotEmpty(ip) && RegExpValidatorUtils.isIP(ip)){
      TransportAddress transportAddress = new TransportAddress(InetAddress.getByName(ip), Integer.valueOf(port));
      esClient.addTransportAddress(transportAddress);
    }
  }
  return esClient;
  }
}

transport方式连接Elasticsearch6.2.3的更多相关文章

  1. Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案

    首先,我们要弄清楚三种常见的连接方式中的桥接方式的网络结构: .bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥 ...

  2. 异步消息总线hornetq学习-03客户端连接hornet进行jms消息的收发-非jndi方式连接

    在上节中介绍了通过jndi方式连接到hornetq服务器上,有时候由于某些原因,我们不希望通过jndi方式连接,hornetq也支持这种方式进行 以第2章节的例子为模板,我们编写了另一个获取Conne ...

  3. 利用ADO方式连接SQLServer2008出现的问题

    在利用ADO方式连接SQLServer2008的过程中遇到了很多问题,在网上也没有找到许多有利的信息,花了两天时间,终于把所有问题都搞定了.在这里和大家分享一下经验,希望后来者能少走弯路. 很多教程说 ...

  4. Oracle BEQ方式连接配置

    Oracle BEQ方式连接配置 服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接可以理解为进程间直接通信,不需要走网络监听,性能更高. 可以参考MOS:How To Connect Us ...

  5. vmvare使用桥接和NAT方式连接网络

    一.背景:本着学以致用的心态,试着最小化安装Centos7.4.安装centos主要目的有两个:共享文件(samba).安装postgresql数据库 本打算使用内网(不联网)的方式安装samba和p ...

  6. MySQL多实例的环境下,服务器端本地连接到指定实例的问题(sock方式连接)

    涉及到sock连接的问题. 为了测试MySQL的某些个特性,在一个机器上安装了多个MySQL的实例,如下截图,有两个实例,一个端口是8000,一个端口是8001.在使用mysql -uroot -p ...

  7. 使用JDBC连接ElasticSearch6.3(ElasticSearch SQL JDBC)

    使用JDBC连接ElasticSearch6.3(ElasticSearch SQL JDBC) https://blog.csdn.net/scgaliguodong123_/article/det ...

  8. 基于Xshell使用密钥方式连接远程主机

    基于Xshell使用密钥方式连接远程主机 连接远程主机,就验证身份而言,一般有两种方式,一种是通过用户密码:另一种通过公钥的方式(Public Key). 图1 xshell支持验证登录用户的方式 下 ...

  9. lnmp使用socket方式连接nginx优化php-fpm性能

    lnmp使用socket方式连接nginx优化php-fpm性能 Nginx连接fastcgi的方式有2种:TCP和unix domain socket 什么是Unix domain socket?- ...

随机推荐

  1. nginx均衡负载

    一直在担心session 问题,结果试了2个web 论坛,discuz 和phpbb ,前面用nginx 均衡负载,后端是apache httpd +php ,mysql 用同一个,修改一下confi ...

  2. 【雕爷学编程】零基础Python(01)---“投机取巧”的三条途径

    从3月13日报名尝试上网课学习(4天课8.9元),开始接触Python(中文发音“派森”),到今天有一星期了.这两天广泛搜索了一下相关的学习途径,本着“投机取巧”的出发点,居然小有心得,这里一并分享出 ...

  3. 【雕爷学编程】Arduino动手做(3)---微波雷达感应开关模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...

  4. day01:判断与循环(20170213)

    #1测试判断用户与密码是否正确:import getpassusername = "llz"password = "123455"_username = inp ...

  5. IDEA启动springboot项目找不到application.yml配置文件

    idea启动项目时读取不到application-pro.yml文件,但是配置文件都在resource目录下: 解决:target/classes 目录是IDEA的classpath目录,项目编译后配 ...

  6. 【转载】win10应用商店独立安装包(一键安装) 2020最新版官方正式版

    win10应用商店独立安装包(一键安装) 2020最新版官方正式版 Win10 LTSB 2016 / LTSC 2019系统,没有应用商店 需要下载应用商店安装包 蓝盘:https://www.la ...

  7. python 串口 透传

    python正常情况通过串口 serial  传输数据的时候,都是以字符串的形式发送的 str = ‘abcd’ ser.write(str.encode())#直接发送str报错,需要发送byte类 ...

  8. SQL——模糊查询LIKE

    LIKE操作符 - 用于WHERE子句中搜索列中指定模式.    语法:SELECT columnName(s) FROM tableName WHERE columnName LIKE patter ...

  9. ExtJS按钮

    var toppanel = Ext.create('Ext.panel.Panel',{ layout : { type : 'absolute' }, bodyStyle : { backgrou ...

  10. Nginx判断客户端实现301跳转

    set $a 0; #第一个条件 if ($uri !~* /(.*).php(.*)){ set $a 1; } #第二个条件 if ($http_user_agent ~* (up.UCBrows ...