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

这篇具有很好参考价值的文章主要介绍了【ES】JavaAPI学习-01 环境配置 索引创建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【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 环境配置 索引创建
打开elasticsearch.bat 文件
【ES】JavaAPI学习-01 环境配置 索引创建
稍等片刻,看到

【ES】JavaAPI学习-01 环境配置 索引创建
则其启动成功。

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

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

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

项目创建

我们创建一个新项目

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

取名为:ElasticSearch-JavaAPI-learnin

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

依赖配置

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】JavaAPI学习-01 环境配置 索引创建

ES

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

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

创建测试客户端

创建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 环境配置 索引创建

运行

先运行ESTest_Client.java

【ES】JavaAPI学习-01 环境配置 索引创建
没有报错。

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

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

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

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

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

【ES】JavaAPI学习-01 环境配置 索引创建
点击 Send 搜索索引,应该没有出现 users的索引,如果有,可以自己修改ESTest_Index_Create.java的CreateIndexRequest中的入参。

则继续运行ESTest_Index_Create.java

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

【ES】JavaAPI学习-01 环境配置 索引创建
成功创建users索引。文章来源地址https://www.toymoban.com/news/detail-404930.html

到了这里,关于【ES】JavaAPI学习-01 环境配置 索引创建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElasticSearch学习01——Windows10环境下ES安装经验与踩到的坑

    由于对ES基本概念和历史演进在网上随处可查,所以本文在此不做赘述.随意本文直接讲述如何安装使用ES ​ ElasticSearch是基于lucence开发的,也就是运行需要java jdk支持。所以要先安装JAVA环境。由于ElasticSearch 5.x 往后依赖于JDK 1.8的,所以最好安装JDK1.8及以上版本.具体安装方法可

    2024年02月12日
    浏览(39)
  • ES 之索引和文档

    本文主要介绍ES中的数据组成结构单元。 ES的数据存储单元是面向文档的,文档是所有数据存储,搜索的最小单元。 你可以把ES中的文档对应成mysql中的一条条数据记录。到时候你存进ES的数据就是一个个文档。 文档存入ES是序列化成为JSON格式的。 众所周知,json对象是由字段

    2024年01月17日
    浏览(38)
  • ES 文档与索引介绍

    Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https://blog.csdn.net/m0_56069948/article/details/122285941 在之前的文章中,介绍了 ES 整体的架构和内容,这篇主要针对 ES 最小的存储单位 - 文档以及由文档组成的索引进行详细介绍。

    2023年04月08日
    浏览(38)
  • ES索引库操作&文档操作

    索引库就类似数据库表,mapping映射就类似表的结构。 我们要向es中存储数据,必须先创建“库”和“表”。 mapping是对索引库中文档的约束,常见的mapping属性包括: type:字段数据类型,常见的简单类型有: 字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家

    2024年02月08日
    浏览(38)
  • 【ELK02】ES的重要核心概念和索引常用操作-索引文档管理、文档搜索

    1.1索引(index) 类似于关系型数据中的库-database ,一个es的集群中可以有多个索引,每个索引都是一批独立的存储数据,按照一定的数据结构保存,方便查询. 1.2类型(type) 类似于关系型数据库中的表格-table ,一个索引中可以有多个类型,每个类型中的数据结构是一致的. 注意:6.x中使用类

    2024年02月04日
    浏览(43)
  • ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入

    导航: 【黑马Java笔记+踩坑汇总】JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud/SpringCloudAlibaba+黑马旅游+谷粒商城 黑马旅游源码:  https://wwmg.lanzouk.com/ikjTE135ybje 目录 1.初识弹性搜索elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 1.1.2.ELK弹性栈 1.1.3.elasticsearch和lucene 1.1.4.搜索引擎技术

    2024年02月01日
    浏览(56)
  • es elasticsearch 新增更新索引,新增更新文档

    先新增索引 新增映射  或者上述两步和为一步(创建索引,及创建mapping) 只能增加原有不存在的字段 创建一个全新的索引,映射包含调整后的字段或类型 将原有索引的数据迁移到新的索引 删除原有索引 将新的索引的别名设置为原来索引相同名称 创建一个 重建文档(全量

    2024年02月11日
    浏览(46)
  • 【ES】Elasticsearch核心基础概念:文档与索引

    es的核心概念主要是:index(索引)、Document(文档)、Clusters(集群)、Node(节点)与实例,下面我们先来了解一下Document与Index。 在讲解Document与Index概念之前,我们先来了解一下RESTful APIs,因为下面讲解Document和Index的时候会使用到。 当我们把es服务器启动起来之后,要怎么调用呢?

    2024年02月05日
    浏览(49)
  • ElasticSearch创建文档以及索引文档的详细流程

            当我们发起一个查询请求之后,ES是怎么处理这个请求然后返回数据的呢?今天就来详细说一下。 首先看一下整体结构:           在集群模式下一个索引有多个分片,在上图中有三个节点(一个主节点两个从节点),一个索引被分为两个分片(P0、P1),每个主分片有两

    2024年02月01日
    浏览(59)
  • 3分钟快速了解ES中索引,映射,文档的概念

    在 Elasticsearch 中,索引、映射和文档是数据存储和组织的基本概念。以下是这三个概念的关系和用法: 索引:索引是用于存储和组织具有类似结构的文档集合。在我们的书籍示例中,我们可以创建一个名为 “books” 的索引来存储书籍信息。 映射:映射定义了索引中文档的字

    2024年02月06日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包