【ES】JavaAPI学习-02 索引查询 删除

在这里插入图片描述

前言

本节将完成ES 的索引的查询,删除

环境

前置条件文章:
【ES】JavaAPI学习-01 环境配置 索引创建

JDK8

IntelliJ IDEA 2021.2.3 (Community Edition)

Postman-win64-8.12.4

elasticsearch-7.15.0-windows-x86_64

实现

在这里插入图片描述

点一下ESTest_Index_Create.java文件,按ctrl + c ,然后ctrl + v,我们复制这个class文件,然后命名为:

索引查询

ESTest_Index_Search

在这里插入图片描述

ESTest_Index_Search.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.GetIndexRequest;
import org.elasticsearch.client.indices.GetIndexResponse;

import java.io.IOException;

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

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

        // 查询索引
        GetIndexRequest request = new GetIndexRequest("users");  // 创建请求对象

        GetIndexResponse getIndexResponse = esClient.indices().get(request, RequestOptions.DEFAULT);

        // 响应状态
        System.out.println(getIndexResponse.getAliases());
        System.out.println(getIndexResponse.getMappings());
        System.out.println(getIndexResponse.getSettings());
        
        // 关闭ES客户端
        esClient.close();

    }
}

代码概要:

创建GetIndexRequest对象,这个对象将用于定义我们要查询的索引。

GetIndexRequest request = new GetIndexRequest("users");

在这里,我们指定了要查询的索引名为"users"。

使用esClient.indices().get()方法发送索引查询请求,并获取响应。

GetIndexResponse getIndexResponse = esClient.indices().get(request, RequestOptions.DEFAULT);

从响应中获取并打印索引的相关信息:
getIndexResponse.getAliases():返回索引的所有别名(如果有的话)。
getIndexResponse.getMappings():返回索引的映射信息,包括字段类型、分析器设置等。
getIndexResponse.getSettings():返回索引的设置信息,包括分片数、副本数、刷新间隔等。

System.out.println(getIndexResponse.getAliases());
System.out.println(getIndexResponse.getMappings());
System.out.println(getIndexResponse.getSettings());

这段主要通过Elasticsearch查询名为"users"的索引,并打印出该索引的别名、映射和设置信息,这些信息可以帮助我们了解索引的结构和配置,以便进行进一步的数据操作或优化。

索引删除

继续复制ESTest_Index_Search.java,命名为ESTest_Index_Delete:

在这里插入图片描述

ESTest_Index_Delete.java

package com.zwy.es;

import org.apache.http.HttpHost;
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
import org.elasticsearch.action.support.master.AcknowledgedResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.indices.GetIndexRequest;
import org.elasticsearch.client.indices.GetIndexResponse;

import java.io.IOException;

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

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

        // 查询索引
        DeleteIndexRequest request = new DeleteIndexRequest("users");  // 创建请求对象

        AcknowledgedResponse response = esClient.indices().delete(request, RequestOptions.DEFAULT);

        // 响应状态
        System.out.println(response.isAcknowledged());

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

    }
}

创建DeleteIndexRequest对象,这个对象将用于定义我们要删除的索引。

DeleteIndexRequest request = new DeleteIndexRequest("users");

在这里,我们指定了要删除的索引名为"users"。

使用esClient.indices().delete()方法发送索引删除请求,并获取响应。

AcknowledgedResponse response = esClient.indices().delete(request, RequestOptions.DEFAULT);

从响应中获取并打印删除操作是否被确认的信息。

System.out.println(response.isAcknowledged());

如果返回true,表示删除操作已被Elasticsearch节点成功接收和处理;如果返回false,则可能需要检查网络连接或Elasticsearch集群状态。

这段功能通过Elasticsearch删除名为"users"的索引,并打印出删除操作是否被确认的信息,删除索引是不可逆的操作,一旦执行,该索引及其包含的所有文档将被永久删除,应该在实际应用中谨慎操作

文件结构

有文件结构如下:

在这里插入图片描述

运行

我们ESTest_Index_Search.java 有运行结果如下:
在这里插入图片描述

在POSTMAN中创建GET 请求,地址如下:

http://127.0.0.1:9200/users

发送请求:
在这里插入图片描述

可以看到其实和ESTest_Index_Search.java的索引查询结果是一样的。

运行 ESTest_Index_Delete.java 结果如下:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据提供的引用内容,以下是使用Elasticsearch Java API进行别名查询的示例: ```java import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.builder.SearchSourceBuilder; public class ElasticsearchAliasQueryExample { public static void main(String[] args) { // 创建RestHighLevelClient实例 RestHighLevelClient client = new RestHighLevelClient(); try { // 创建SearchRequest对象 SearchRequest searchRequest = new SearchRequest("your_index_name"); // 创建SearchSourceBuilder对象 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); // 设置查询条件,这里使用别名查询 searchSourceBuilder.query(QueryBuilders.termQuery("your_alias_name", "your_search_term")); // 将SearchSourceBuilder对象设置到SearchRequest中 searchRequest.source(searchSourceBuilder); // 执行查询 SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT); // 处理查询结果 // ... } catch (IOException e) { e.printStackTrace(); } finally { // 关闭RestHighLevelClient连接 try { client.close(); } catch (IOException e) { e.printStackTrace(); } } } } ``` 请注意,上述示例中的"your_index_name"和"your_alias_name"需要替换为实际的索引名称和别名名称。"your_search_term"需要替换为您要搜索的实际术语。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

锥栗

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

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

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

打赏作者

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

抵扣说明:

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

余额充值