0
点赞
收藏
分享

微信扫一扫

【ES】JavaAPI学习-01

天天天蓝loveyou 2022-04-23 阅读 36

前言

本文档及关联项目用于ElasticSearch的JavaAPI的学习。

环境

JDK8

IntelliJ IDEA 2021.2.3 (Community Edition)

Postman-win64-8.12.4

elasticsearch-7.15.0-windows-x86_64

实现

启动ES和POSTMAN

找到elasticsearch的安装路径,打开bin文件夹

在这里插入图片描述
打开elasticsearch.bat 文件
在这里插入图片描述
稍等片刻,看到

在这里插入图片描述
则其启动成功。

可以测试一下 http://127.0.0.1:9200/ 是否能打开。

然后启动POSTMAN,我用的是POSTMAN客户端:

在这里插入图片描述

项目创建

创建一个新项目
在这里插入图片描述
取名为:ElasticSearch-JavaAPI-learning

在这里插入图片描述

依赖配置

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>ElasticSearch-JavaAPI-learning</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.8.0</version>
        </dependency>
        <!-- elasticsearch 的客户端 -->
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.8.0</version>
        </dependency>
        <!-- elasticsearch 依赖 2.x 的 log4j -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.8.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.8.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.9</version>
        </dependency>
        <!-- junit 单元测试 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>

</project>

配置好之后记得更新maven

在这里插入图片描述

es

在src.main.java下创建com.zwy.es文件夹:

在这里插入图片描述

创建测试客户端

ESTest_Client.java

package com.zwy.es;

import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import sun.rmi.transport.TransportConstants;

import java.io.IOException;

public class ESTest_Client {
    public static void main(String[] args) throws IOException {

        // 创建ES客户端
        RestHighLevelClient esClient = new RestHighLevelClient(
                RestClient.builder(new HttpHost("localhost", 9200, "http"))
        );

        // 关闭ES客户端
        esClient.close();

    }
}

ESTest_Index_Create.java

package com.zwy.es;

import org.apache.http.HttpHost;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.indices.CreateIndexRequest;
import org.elasticsearch.client.indices.CreateIndexResponse;

import java.io.IOException;

public class ESTest_Index_Create {
    public static void main(String[] args) throws IOException {

        //
        RestHighLevelClient esClient = new RestHighLevelClient(
                RestClient.builder(new HttpHost("localhost", 9200, "http"))
        );

        // 创建索引
        CreateIndexRequest request = new CreateIndexRequest("users");  // 创建请求对象
        CreateIndexResponse createIndexResponse = esClient.indices().create(request, RequestOptions.DEFAULT);  // 返回响应

        // 响应状态
        boolean acknowledged = createIndexResponse.isAcknowledged();

        System.out.println("索引操作 : " + acknowledged);

        // 关闭ES客户端
        esClient.close();

    }
}

文件结构

项目文件结构如下:
在这里插入图片描述

运行

先运行ESTest_Client.java

在这里插入图片描述
没有报错。

这时打开postman,创建一个请求的collection:

在这里插入图片描述

我把它命名为ES基础操作。

然后创建一个 GET 请求(request)如下:

http://127.0.0.1:9200/_cat/indices?v

在这里插入图片描述
点击 Send 搜索索引,应该没有出现 users的索引,如果有,可以自己修改ESTest_Index_Create.java的CreateIndexRequest中的入参。

则继续运行ESTest_Index_Create.java

在这里插入图片描述
运行成功,返回true,这时在回到POSTMAN中调用刚刚的 GET 请求,可以看到:

在这里插入图片描述
成功创建users索引。

举报

相关推荐

0 条评论