• elasticsearch RestHighLevelClient 关于index的常用操作


    对于索引的操作是基于***IndexRequest来进行操作的。例如:CreateIndexRequest、DeleteIndexRequest、GetIndexRequest

    常见操作中还有校验索引是否存在:exists


    创建连接请求:

      

        private RestHighLevelClient client;
    
        //创建连接
        public ElasticsearchController() {
            RestHighLevelClient restHighLevelClient = new RestHighLevelClient(
                    RestClient.builder(
                            new HttpHost("localhost" , 9200 , "http")
                    )
            );
    
            this.client = restHighLevelClient;
        }

    创建索引:

        public String createIndex(){
    
            //create es index
            CreateIndexRequest requestUser = new CreateIndexRequest("usertestinfo");
            CreateIndexResponse createIndexResponse = null;
            try {
                createIndexResponse = this.client.indices().create(requestUser, RequestOptions.DEFAULT);
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            //get es index create result is true or false
            boolean acknowledged = false;
            try {
                acknowledged = createIndexResponse.isAcknowledged();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return "Localhost Elasticsearch Create Index is1 : " + acknowledged;
        }

    查找索引:

        public String findIndex(){
    
            GetIndexRequest request = new GetIndexRequest("user");
            HashMap<String, Object> result = new HashMap<>();
            try {
                GetIndexResponse getIndexResponse = this.client.indices().get(request, RequestOptions.DEFAULT);
                Map<String, Settings> settings = getIndexResponse.getSettings();
    
                System.out.println("index settings is :" + settings.toString());
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            return "find es index complete";
        }

    删除索引:

        public String deleteIndex(){
            try {
                DeleteIndexRequest usertestinfo = new DeleteIndexRequest("user");
                AcknowledgedResponse delete = this.client.indices().delete(usertestinfo, RequestOptions.DEFAULT);
                System.out.println("delete index result is : " + delete.isAcknowledged());
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            return "delete es index complete";
        }

    检验索引是否存在:

        //检验某条索引是否存在
        public String checkIndexIsExists(){
    
            GetIndexRequest request = new GetIndexRequest("user");
            boolean exists = false;
            try {
                exists = this.client.indices().exists(request , RequestOptions.DEFAULT);
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            return "exists es index complete , result is :" + exists;
        }
  • 相关阅读:
    linux下编译sphinx拓展
    Java为什么使用连接池
    内部类之.this&&.new
    何为代理
    Qt install Phonon
    Gcc简介与常用命令
    Vim的设置和使用——编程者
    QT程序启动界面的使用
    slide from one widget to another
    Hide the common top menu in Ubuntu 12.04
  • 原文地址:https://www.cnblogs.com/hxjz/p/14701684.html
Copyright © 2020-2023  润新知