【ES】JavaAPI学习-01 环境配置 索引创建

前言

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

本节将完成环境配置,索引创建

注:Elasticsearch 是一个开源、分布式、基于 Lucene 的搜索引擎和分析引擎。 Elasticsearch 支持:

  1. 全文搜索,强大的全文搜索能力,能够对文本内容进行快速、准确的搜索,并支持各种高级搜索语法和查询选项。
  2. 分布式架构,可以轻松地在多台服务器上扩展和部署,以处理大规模的数据和高并发的查询请求。
  3. 实时分析,支持近乎实时的数据索引和搜索,使得数据能够快速地被检索和分析。
  4. 弹性伸缩,具有良好的弹性伸缩性,可以通过增加或减少节点来调整集群的容量和性能。
  5. 高可用性,通过分片和副本机制,Elasticsearch 可以保证数据的高可用性和容错性。即使部分节点出现故障,整个集群仍能继续提供服务。
  6. RESTful API,提供了丰富的 RESTful API,使得与各种编程语言和客户端的集成变得简单和方便。
  7. 聚合和分析,强大的聚合(Aggregation)能力,可以对数据进行复杂的统计分析和报表生成。
  8. 多租户和安全性,支持多租户模式,可以为不同的用户或应用程序分配独立的索引和权限,同时,它也提供了多种安全措施,如认证、授权和加密,以保护数据的安全。
  9. 易于管理,提供了友好的管理界面和工具,如 Kibana 和 Elastic Stack,使得集群的监控、管理和调试变得更加直观和便捷。
  10. 广泛的应用场景, 被广泛应用于日志分析、监控告警、电子商务搜索、推荐系统、网络安全、物联网数据分析等多个领域。

环境

JDK8

IntelliJ IDEA 2021.2.3 (Community Edition)

Postman-win64-8.12.4

elasticsearch-7.15.0-windows-x86_64

实现

启动ES和POSTMAN

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

【ES】JavaAPI学习-01 环境配置 索引创建_第1张图片
打开elasticsearch.bat 文件
【ES】JavaAPI学习-01 环境配置 索引创建_第2张图片
稍等片刻,看到

【ES】JavaAPI学习-01 环境配置 索引创建_第3张图片
则其启动成功。

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

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

【ES】JavaAPI学习-01 环境配置 索引创建_第4张图片

项目创建

我们创建一个新项目

【ES】JavaAPI学习-01 环境配置 索引创建_第5张图片

取名为:ElasticSearch-JavaAPI-learnin

【ES】JavaAPI学习-01 环境配置 索引创建_第6张图片

依赖配置

pom.xml



    4.0.0

    org.example
    ElasticSearch-JavaAPI-learning
    1.0-SNAPSHOT

    
        8
        8
    

    
        
            org.elasticsearch
            elasticsearch
            7.8.0
        
        
        
            org.elasticsearch.client
            elasticsearch-rest-high-level-client
            7.8.0
        
        
        
            org.apache.logging.log4j
            log4j-api
            2.8.2
        
        
            org.apache.logging.log4j
            log4j-core
            2.8.2
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.9.9
        
        
        
            junit
            junit
            4.12
        
    



配置好之后记得更新maven

【ES】JavaAPI学习-01 环境配置 索引创建_第7张图片

ES

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

【ES】JavaAPI学习-01 环境配置 索引创建_第8张图片

创建测试客户端

创建RestHighLevelClient对象,这是ES的Java客户端,与ES服务器进行交互。

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

我们使用了RestClient.builder()方法创建了一个RestClient实例,并传入了一个HttpHost对象。HttpHost对象包含了Elasticsearch服务器的地址、端口和协议,服务器运行在本地的9200端口,使用HTTP协议。

创建完RestHighLevelClient对象后,可以使用它来进行各种Elasticsearch操作,如索引文档、搜索数据、更新文档等。但是,这段代码中没有执行任何具体的操作。
最后,通过调用esClient.close()方法关闭Elasticsearch客户端,释放资源。

esClient.close();

我们有: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();

    }
}

文件结构

项目文件结构如下:
【ES】JavaAPI学习-01 环境配置 索引创建_第9张图片

运行

先运行ESTest_Client.java

【ES】JavaAPI学习-01 环境配置 索引创建_第10张图片
没有报错。

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

【ES】JavaAPI学习-01 环境配置 索引创建_第11张图片

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

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

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

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

则继续运行ESTest_Index_Create.java

【ES】JavaAPI学习-01 环境配置 索引创建_第12张图片
运行成功,返回true,这时在回到POSTMAN中调用刚刚的 GET 请求,可以看到:

【ES】JavaAPI学习-01 环境配置 索引创建_第13张图片
成功创建users索引。

你可能感兴趣的:(Elasticsearch,java,elasticsearch)