Elasticsearch - java客户端连接

写在前面的话:读书破万卷,编码如有神
--------------------------------------------------------------------

最简单的在java客户端连接es服务器

(仅作为快速简单使用demo)

 1 package com.es.util.elasticsearch;
 2
 3 import lombok.Data;
 4 import org.apache.log4j.Logger;
 5 import org.elasticsearch.action.search.SearchRequestBuilder;
 6 import org.elasticsearch.action.search.SearchResponse;
 7 import org.elasticsearch.client.transport.TransportClient;
 8 import org.elasticsearch.common.settings.Settings;
 9 import org.elasticsearch.common.transport.InetSocketTransportAddress;
10 import org.elasticsearch.common.unit.TimeValue;
11 import org.elasticsearch.transport.client.PreBuiltTransportClient;
12 import org.springframework.stereotype.Component;
13
14 import javax.annotation.PostConstruct;
15 import java.net.InetAddress;
16 import java.net.UnknownHostException;
17
18 /**
19  * @author : huobaopaocai
20  * @date : 2018/2/15 - 10:31
21  * @Description : elasticsearch客户端
22  */
23 @Component("elasticsearchConstant")
24 @Data
25 public class ElasticsearchConstant {
26
27     public static final Logger LOG = Logger.getLogger(ElasticsearchConstant.class);
28
29     /**
30      * es服务器地址
31      */
32     private String host = "127.0.0.1";
33
34     /**
35      * es服务器端口
36      */
37     private Integer port = 9300;
38
39     /**
40      * es集群名称
41      */
42     private String clusterName = "huobaopaocai-es-cluster";
43
44     /**
45      * es索引名称
46      */
47     private String esIndex = "ecommerce";
48
49     /**
50      * es索引下type名称
51      */
52     private String esType = "product";
53
54     public TransportClient client = null;
55
56     private SearchRequestBuilder requestBuilder;
57
58     private Long TIME_OUT = 20L;
59
60     @PostConstruct
61     public void init() {
62         Settings settings = Settings.builder()
63                 .put("cluster.name", clusterName)
64                 .put("client.transport.sniff", true)
65                 .put("client.transport.ping_timeout", "600s")
66                 .build();
67         try {
68             client = new PreBuiltTransportClient(settings)
69                     .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(host), port));
70         } catch (UnknownHostException e) {
71             LOG.error(e, e.getCause());
72         }
73     }
74
75     /**
76      * 初始化SearchRequestBuilder
77      * @return
78      */
79     public SearchRequestBuilder initRequestBuilder() {
80         requestBuilder = client.prepareSearch(esIndex).setTypes(esType);
81         return requestBuilder;
82     }
83
84     /**
85      * 执行es操作
86      * @param requestBuilder
87      * @return
88      */
89     public SearchResponse execute(SearchRequestBuilder requestBuilder) {
90         SearchResponse searchResponse = requestBuilder.setTimeout(TimeValue.timeValueSeconds(TIME_OUT)).execute().actionGet();
91         return searchResponse;
92     }
93 }

--------------------------------------------------------------------

原文地址:https://www.cnblogs.com/xinhuaxuan/p/8449328.html

时间: 2024-12-15 02:57:33

Elasticsearch - java客户端连接的相关文章

Redis c/c++, java 客户端连接

Redis 介绍 redis这个想必大家都了解,关于redis的安装参考这里,redis使用文档参见这里. Redis C客户端的使用方法 Redis的c客户端 Hiredis使用比较广泛,下面主要介绍下它. 1,Hiredis的安装,配置 Hiredis客户端 在redis解压后的deps/hiredis下有相应的文件.如果你的安装包没有相应的文件可以到这里下载. cd deps/hiredis (下载hiredis的话 自行解压进入 解压后的目录). make 最后 把相应的文件加入到 系统

java客户端连接MongoDB数据库的简单使用

1.下载mongoDB的jar包,并引入到工程的CLASSPATH中下载:mongodb2.5驱动包下载 如果使用maven项目,最新的依赖如下: <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.2.0</version> </dependency> 需要特别注意的是如果

Java客户端连接kafka集群报错

往kafka集群发送消息时,报错如下: page_visits-1: 30005 ms has passed since batch creation plus linger time 加入log4j.properties,设置为DEBUG级别,错误如下: 2017-06-03 17:33:31,417 DEBUG [org.apache.kafka.clients.NetworkClient] - Error connecting to node 2 at kafka-cluster-64bi

JAVA SOCKET网络编程,服务端接收多个客户端连接的实现

这是基于前面一篇文章的一个简单扩展,当然这不是最好的实现 服务端如果要想接收多个客户端连接,必须死循环去接收新的客户端的连接请求,一个完整的客户端服务端socket连接通过一个线程来维护 package com.tree.demo.socket; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.n

elasticsearch-1.2.1客户端连接DEMO

1.下载elasticsearch-1.2.1的zip包,解压之后 双击bin目录中的 elasticsearch.bat(针对windows系统) 启动服务器(默认监听9200端口) 访问 http://localhost:9200 出现下边的json数据则说明启动成功 2.客户端连接的代码示例: package com.jiaoyiping.othersimple; /** * Created with IntelliJ IDEA. * User: 焦一平 * Date: 14-7-8 *

elasticsearch系列七:ES Java客户端-Elasticsearch Java client(ES Client 简介、Java REST Client、Java Client、Spring Data Elasticsearch)

一.ES Client 简介 1. ES是一个服务,采用C/S结构 2. 回顾 ES的架构 3. ES支持的客户端连接方式 3.1 REST API ,端口 9200 这种连接方式对应于架构图中的RESTful style API这一层,这种客户端的连接方式是RESTful风格的,使用http的方式进行连接 3.2 Transport 连接 端口 9300 这种连接方式对应于架构图中的Transport这一层,这种客户端连接方式是直接连接ES的节点,使用TCP的方式进行连接 4. ES提供了多种

配置ORACLE 客户端连接到数据库

--================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle 客户端连接到Oracle 数据库服务器貌似不同于SQL serve中的网络配置,其实不然,只不过所有的SQL server 运行于Windows平台,故很多配置直接集成到了操作系统之中.所以无需配置客户端即可连接到服务器.Oracle 客户端连接到数据库依赖于Oracle Net.Oracle提供

ElasticSearch java api -单例模式

//单例模式 private static Settings getSettingInstance(){ if(settings==null){ synchronized (Settings.class) { if(settings==null){ settings = ImmutableSettings.settingsBuilder() // client.transport.sniff=true // 客户端嗅探整个集群的状态,把集群中其它机器的ip地址自动添加到客户端中,并且自动发现新加

atitit.客户端连接oracle数据库的方式总结

客户端连接oracle数据库的方式总结 目录 Java程序连接一般使用jar驱动连接..... 1 桌面GUI一般采取c语言驱动oci.dll1 直接连接... 1 间接连接(需要配置tns及其envi var)... 1 JDBC驱动的4种类型... 1 Java程序连接一般使用jar驱动连接.. 标识字符串为thin...也叫thin驱动. 当然也可以使用oci  c类库驱动,标识字符串为oci.不过考虑到jni的调用,层次增多,不一定能提升性能.. 作者老哇的爪子 Attilax 艾龙,