开发者学堂课程【ElasticSearch 最新快速入门教程:连接 ES_介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/642/detail/10634
连接 ES_介绍
通过 TransportClient 接口,我们可以不启动节点就可以和ES集群进行通信,它需要指定 ES 集群中其中一台或者多台机器 P 地址和端口(默认9300)写代码的时候遵循 IP 协议。
准备一个 int 直线类型,准备一个常量储存端口号,然后核心 API transportClient,Unit 单元中准备三个方法。
public class ElasticSearchTest
private static final int PORT =9300:
private TransportClient client;
@Before
public void setUp(
client TransportClient. builder(). build(:
InetSocketTransportAddress ista
newInetSocketTransportAddress(new InetSocketAddress("master", PORT):
client. addTransportAddresses(ista);
System.out.printin("cluster.name="+client. settings().get("cluster. name"));
}
@After
public void cleanUp() (client. close();)
}
前提: Maven pom 依赖:
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId> elasticsearch</artifactId>
<version>6.5.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson. core</groupId>
<artifactid>jackson-databind</artifactId>
<version>2.7./version>
</dependency>
<dependency>
<groupId>org. dom4j</groupId>
cartifactId>dom4i</artifactId>
<version>2.0.0</version>
</dependency>
1) 如果需要使用其他名称的集群(默认是 elasticsearch),需要如下
设置
Settingssettings Settings.builder()
.put ("cluster. name", "nCName" .build( )
Transportclsentclient= Transport.builder() .settings(settings).build()
. addTransportAddress(new
InetSocketTransportAddress("host", 9300))
可以测试一下在客户端能否获得 transportclient 的实例,和 es 集群建立了连接,资源一个释放。
查询验证一下合不合适,可以看一下查询到的结果能否查询出来,并且能够正常查询到索引当中的信息。
代码:
*初始化
*/
@Before
public void setUp0 throws UnknownHostException
Settings settings Settings.builder0).put("cluster.name", "bigdata").build0:
client new PreBuiltTransportClient(settings):
∥用来指定集群中的节点 TCP/IP 协议,es 服务器的端口号是:9300:HTTP 协议,端口号是9200
TransportAddressjanson01new TransportAddres(netAddress.getByName("JANSON01'"), 9300)
TransportAddressjanson02new TransportAddre(InetAddress.getByName("JANSON02"), 9300)
TransportAddressjanson03=new TransportAddre(InetAddress.getByNameJANSON03)9300
clientaddTransportAddresses(anson01, janson02, janson03)
★
测试 TransportClient 实例是否正常创建
@Test
public void testEnvO(
logger.info(TransportClient 类的实例信息是:+ client)
测试 JAVA 客户端能否正常查询指定索引库中的信息
*/
@Test
public void testNomalGetO
需求:
查询索引库 bigdataproduct 中 type 之 iddocument 为1的信息
GetResponse response client. prepareGet"bigdata", "product",2")
.get0:
loggerinfo(查询到的结果是:+ response.getSourceAsString());
}
/**
*资源释放
*/
@After
public void cleanUpO{
if(client!=null){
client.close
()
;
}