客户端版本
maven依赖 坑:版本最好匹配,不然出现很多问题
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.8.0-beta2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>6.4.2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>6.4.2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>6.4.2</version>
</dependency>
</dependencies>
Java代码:
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import java.io.IOException;
import java.net.InetAddress;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class Test {
/*本机IP地址*/
public final static String HOST="192.168.1.119";
/*端扣号*/
public final static int PORT=9300;
/*节点名,安装好后默认的节点名*/
public final static String CLUSTERNAME="elasticsearch";
/*获取链接*/
public static TransportClient getConnection()throws Exception{
Settings settings=Settings.builder().put("client.transport.sniff", true)
.put("cluster.name",CLUSTERNAME)
.build();
TransportClient client=new PreBuiltTransportClient(settings)
.addTransportAddresses(new TransportAddress(InetAddress.getByName(HOST), PORT));
return client;
}
/*添加数据*/
public void add() throws Exception{
try {
XContentBuilder content = XContentFactory.jsonBuilder().startObject()
.field("name","LYC")
.field("age",24)
.field("job","coder")
.endObject();
String index = "data"; // 索引值
String type ="person"; // 类型
String );
}
}
在代码设置ip的时候有时需要去指定一个ip值elasticsearch.yml中
效果: