> 技术文档 > Java 操作 Elasticsearch(增删改查)_java es新增库

Java 操作 Elasticsearch(增删改查)_java es新增库

目录

第1关:Java连接Elasticsearch

代码

第2关:Java操作Elasticsearch——新增

代码

第3关:Java操作Elasticsearch——查找

代码

第4关:Java操作Elasticsearch——修改与删除

代码


第1关:Java连接Elasticsearch

任务描述
本关任务:通过 Java 来连接 Elasticsearch 。

相关知识
为了完成本关任务,你需要掌握:

Elasticsearch 版本区别。
Java 连接 Elasticsearch 。
Elasticsearch版本区别
我们平时制作 JAVA 的 web 项目,可能会使用 Elasticsearch 搜索引擎,我们就需要去连接 Elasticsearch 服务器。
本实训使用的是 Elasticsearch 6.5.4版本的,与 Elasticsearch 5.x版本还是有一些区别的。
1、因为 Elasticsearch 5.x 索引下支持多种type,现在 Elasticsearch 6.x 索引下只能有一种 type 。
2、Elasticsearch 5.x支持string类型字段,现在 Elasticsearch 6.x中的string类型字段被拆分成两种新的数据类型: text用于全文搜索的, 而keyword用于关键词搜索。
3、Java 连接 Elasticsearch 区别。

//以前Java连接5.x版本
Client client = TransportClient.builder().build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(\"127.0.0.1\"), 9300))
//现在连接6版本的,需要设置集群名称
Settings settings = Settings.builder().put(\"cluster.name\", \"my-application\").build();
//连接ES
TransportClient client = new PreBuiltTransportClient(settings)
.addTransportAddresses(new TransportAddress(InetAddress.getByName(HOST), PORT));
PreBuiltTransportClient:用来搜索集群状态。
addTransportAddresses:添加ip地址及端口号。
Java连接Elasticsearch
连接 Elasticsearch 代码如下:

public final static String HOST = \"127.0.0.1\";
public final static int PORT = 9300;//http请求的端口是9200,客户端是9300
public static void main(String[] args) throws UnknownHostException {
// 设置集群名称
Settings settings = Settings.builder().put(\"cluster.name\", \"my-application\").build();
// 创建client
//搜索集群状态
//java客户端的方式是以tcp协议在9300端口上进行通信
TransportClient client = new PreBuiltTransportClient(settings)
.addTransportAddresses(new TransportAddress(InetAddress.getByName(HOST), PORT));
}
编程要求
在右侧文件中在Begin-End区域编写连接 Elasticsearch 代码,在点击测评前,请在右侧命令行手动启动 Elasticsearch。

su es
/opt/install/elasticsearch-6.5.4/bin/elasticsearch
点击测评查看是否连接成功。

代码
package com.test;import org.elasticsearch.client.transport.TransportClient;import org.elasticsearch.common.settings.Settings;import org.elasticsearch.common.transport.TransportAddress;import org.elasticsearch.transport.client.PreBuiltTransportClient;import java.net.InetAddress;import java.net.UnknownHostException;public class ElasticsearchTest1 { // 服务器地址,本机 public final static String HOST = \"127.0.0.1\"; //http请求的端口是9200,客户端是9300 public final static int PORT = 9300; public static void main(String[] args) throws UnknownHostException { /**************** Begin ****************/ // 设置集群名称 Settings settings = Settings.builder().put(\"cluster.name\", \"my-application\").build(); // 创建client //搜索集群状态 //java客户端的方式是以tcp协议在9300端口上进行通信 TransportClient client = new PreBuiltTransportClient(settings) .addTransportAddresses(new TransportAddress(InetAddress.getByName(HOST), PORT)); /**************** End ****************/ if(client.toString().contains(\"org.elasticsearch.transport.client.PreBuiltTransportClient@\")){ System.out.println(\"连接成功\"); }else{ System.out.println(\"连接失败\"); } //关闭客户端 client.close(); }}

第2关:Java操作Elasticsearch——新增

任务描述<

刀友网