您当前的位置: 首页 >  Java

java持续实践

暂无认证

  • 3浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

es 7.x JavaAPI 索引查询 删除

java持续实践 发布时间:2022-01-15 12:02:35 ,浏览量:3

文章目录
      • 索引查询
      • 索引删除

索引查询

执行如下代码, 对上一步创建的索引进行查询操作

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

/**
 * 类名称:ESTest_Client
 * 类描述: 创建索引
 *
 * @author:
 * 创建时间:2022/1/11 21:05
 */
public class ESTest_Index_Search {

    public static void main(String[] args) throws Exception {

        RestHighLevelClient esClient = null;
        // 创建ES客户端
        try {
            esClient = new RestHighLevelClient(
                    RestClient.builder(new HttpHost("127.0.0.1", 9200, "http"))
            );
            GetIndexRequest request = new GetIndexRequest("sysuser");

            GetIndexResponse getIndexResponse = esClient.indices().get(request, RequestOptions.DEFAULT);
            System.out.println("索引别名:" + getIndexResponse.getAliases());
            System.out.println("索引mapping:" + getIndexResponse.getMappings().keySet());
            System.out.println("索引setting:" + getIndexResponse.getSettings());
        } finally {
            if (esClient != null) {
                // 关闭ES客户端
                esClient.close();
            }
        }
    }
}

调用GetIndexRequest 查询请求, 获取查询请求的响应GetIndexResponse 控制台打印如下:

索引别名:{sysuser=[]}
索引mapping:[sysuser]
索引setting:{sysuser={"index.creation_date":"1641944880743","index.number_of_replicas":"1","index.number_of_shards":"1","index.provided_name":"sysuser","index.routing.allocation.include._tier_preference":"data_content","index.uuid":"-Oo-Y8jKRsm70r1UqHX58w","index.version.created":"7160299"}}

如果用http 查询索引, 则发送如下的get请求 http://127.0.0.1:9200/sysuser 获得的响应如下, 和用java获取的一致.

{
    "sysuser": {
        "aliases": {},
        "mappings": {},
        "settings": {
            "index": {
                "routing": {
                    "allocation": {
                        "include": {
                            "_tier_preference": "data_content"
                        }
                    }
                },
                "number_of_shards": "1",
                "provided_name": "sysuser",
                "creation_date": "1641944880743",
                "number_of_replicas": "1",
                "uuid": "-Oo-Y8jKRsm70r1UqHX58w",
                "version": {
                    "created": "7160299"
                }
            }
        }
    }
}
索引删除

删除名称为sysuser1的索引 在这里插入图片描述 删除索引的代码如下

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;
/**
 * 类名称:ESTest_Client
 * 类描述: 创建索引
 *
 * @author:
 * 创建时间:2022/1/11 21:05
 */
public class ESTest_Index_Delete {

    public static void main(String[] args) throws Exception {
        RestHighLevelClient esClient = null;
        // 创建ES客户端
        try {
            esClient = new RestHighLevelClient(
                    RestClient.builder(new HttpHost("127.0.0.1", 9200, "http"))
            );
            DeleteIndexRequest request = new DeleteIndexRequest("sysuser1");

            AcknowledgedResponse acknowledgedResponse = esClient.indices().delete(request, RequestOptions.DEFAULT);
            System.out.println("索引结果:" + acknowledgedResponse.isAcknowledged());
        } finally {
            if (esClient != null) {
                // 关闭ES客户端
                esClient.close();
            }
        }
    }
}

运行后响应如下 删除成功. 在这里插入图片描述 查询所有的索引, 可以看到索引已经没有了. 在这里插入图片描述

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.2759s