01 java连接ES6.6.0_ES学习

文章目录

  • Manven配置
    • 注意
  • 连接的代码
    • 需要注意的地方
  • 资料

Manven配置


	4.0.0
	com.sun.elasticsearch
	Elasticsearch01
	0.0.1-SNAPSHOT

	
		
			org.elasticsearch.client
			transport
			6.0.0
		

		
		
			org.apache.logging.log4j
			log4j-api
			2.7
		

		
			org.apache.logging.log4j
			log4j-core
			2.8.2
		
		
			org.slf4j
			slf4j-log4j12
			1.7.21
			test
		
		
			org.slf4j
			slf4j-api
			1.7.25
			compile
		

		
		
			com.google.code.gson
			gson
			2.8.0
		
		
			junit
			junit
			4.12
			compile
		

	




注意

  • 这里的版本号最好和下载的ES的版本号相同
		
			org.elasticsearch.client
			transport
			6.0.0
		`
  • 我发现ES版本更新很快,不同的版本之间都有差别,方法调用可能也大不同,所以最好是看文档
    https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html
  • 通过浏览器http://127.0.0.1:9200访问可以正常访问,,9200端口是用于Http协议访问的,如果通过客户端访问需要通过9300端口才可以访问
  • http://127.0.0.1:9200 是运行ES\elasticsearch-6.6.0\bin 下的的elasticsearch.bat ,started后显示的
  • ip地址可以有很多个,要连现在正在用的那个;
  • netstat -n 查看目前使用中的端口
    (好像是netstat -an ?)

连接的代码

package com.es.test0;

import java.io.IOException;
import java.net.InetAddress;
import java.util.Date;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.elasticsearch.common.transport.TransportAddress;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class EsTest {
//	private Logger logger = LoggerFactory.getLogger(EsTest.class);

	public final static String HOST = "192.168.43.198";// 服务器地址,本机

	public final static int PORT = 9300; // http请求的端口是9200,客户端是9300

	private TransportClient client = null;

	public static void main(String[] args) {
		EsTest test = new EsTest();
		test.getEsClient();
	}

	/** 实例化es客户端 */
	@SuppressWarnings(value = { "resource", "unchecked" })
	public void getEsClient() {
		try {
			// 获取es主机中节点的ip地址及端口号
			client = new PreBuiltTransportClient(Settings.EMPTY)
					.addTransportAddress(new TransportAddress(InetAddress.getByName(HOST), PORT));

			System.out.println("client: " + client);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (client != null) {
				client.close();
			}
//	    	  	 //1、指定es集群  cluster.name 是固定的key值,my-application是ES集群的名称
//	    	      Settings settings = Settings.builder().put("cluster.name", "my-application").build();
//	    	      //2.创建访问ES服务器的客户端
//	    	      TransportClient client = new PreBuiltTransportClient(settings)
//	    	      		.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.1.94"), 9300));
//	    	      
//	    	      client.close();//关闭客户端
		}
	}

	
}

需要注意的地方

  • @SuppressWarnings(value = { “resource”, “unchecked” })注释
    这是我参考的大神的,用来忽视value里的两种报错,但是为什么要这样我还不清楚
  • HOST的值

资料

https://www.imooc.com/learn/889
你们也可以通过这个学习,这里面是用head插件的,
老师建议我先用java读取数据

你可能感兴趣的:(01 java连接ES6.6.0_ES学习)