Java 操作 Elasticsearch(增删改查)

目录

第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——新增

任务描述
本关任务:通过 Java

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小柒_02

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值