zoukankan      html  css  js  c++  java
  • Hadoop -- ES -- CURD

    1.获取ES连接

    package com.ciic.history.common;
    
    import org.elasticsearch.client.transport.TransportClient;
    import org.elasticsearch.common.Strings;
    import org.elasticsearch.common.settings.Settings;
    import org.elasticsearch.common.transport.InetSocketTransportAddress;
    import org.elasticsearch.common.transport.TransportAddress;
    
    import java.net.InetAddress;
    import java.net.UnknownHostException;
    
    public class DaoUtilL {
    
        private static TransportClient clientL = null;
    
        private DaoUtilL(){};
    
        public static TransportClient getClientL() {
            try {
                if (null != clientL) {
                    return clientL;
                }
                Settings settings = Settings.settingsBuilder().put("cluster.name", "search1")
                        .put("transport.tcp.compress", true).build();
                InetSocketTransportAddress address1 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.249"), 9300);
                InetSocketTransportAddress address2 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.250"), 9300);
                InetSocketTransportAddress address3 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.251"), 9300);
                InetSocketTransportAddress address4 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.252"), 9300);
                TransportAddress[] addressArr = {address1, address2, address3, address4};
                clientL = TransportClient.builder().settings(settings).build().addTransportAddresses(addressArr);
                return clientL;
            } catch (Exception e) {
                return null;
            }
        }
    }

    2.CURD操作

        @Override
        public JsonEntity queryCustomerPreview(int page, int rows) {
            TransportClient clientL = DaoUtilL.getClientL();
            SearchRequestBuilder builder =  clientL.prepareSearch();
            builder.setIndices("esinner_limecustomerpreview_index").
                    setTypes("xian").
                    addSort("imscustomername", SortOrder.ASC).setFrom((page-1)*rows).setSize(rows);
    
            SearchResponse response = builder.get();
            SearchHit[] searchHits = response.getHits().getHits();
            ArrayList arrayList = new ArrayList();
            for(int i = 0; i < searchHits.length; i++) {
                arrayList.add(searchHits[i].getSource());
            }
            //查询总记录数total
            SearchResponse totalResponse = clientL.prepareSearch()
                    .setIndices("esinner_limecustomerpreview_index")
                    .setSearchType(SearchType.COUNT).setSize(0).get();
            long length = response.getHits().totalHits();
    
            JsonEntity entity = new JsonEntity();
            entity.setTotal(length);
            entity.setRows(arrayList);
            return entity;
        }

    -- -- -- -- -- -- 

        @Override
        public JsonEntity customerPreviewSearch(EsinnerLimeCustomerPreviewIndex customerPreview, int page, int rows) {
            TransportClient clientL = DaoUtilL.getClientL();
            SearchRequestBuilder searchRequestBuilder =  clientL.prepareSearch();
            searchRequestBuilder.setIndices("esinner_limecustomerpreview_index").
                    setTypes("xian").setSearchType(SearchType.DEFAULT).
                    setFrom((page-1)*rows).setSize(rows);
            
            BoolQueryBuilder builder =  QueryBuilders.boolQuery();
    
            boolean flag=true;
            if(StringUtils.isNotBlank(customerPreview.getImscustomername())){
                flag=false;
                builder.must(QueryBuilders.termQuery("imscustomername",customerPreview.getImscustomername()));
            }
            if(StringUtils.isNotBlank(customerPreview.getImscustomercode())){
                flag=false;
                builder.must(QueryBuilders.matchQuery("imscustomercode",customerPreview.getImscustomercode()));
            }
            if(flag==true){
                searchRequestBuilder.addSort("imscustomercode", SortOrder.ASC);
            }
            searchRequestBuilder.setQuery(builder);
    
            SearchResponse response = searchRequestBuilder.get();
            SearchHit[] searchHits = response.getHits().getHits();
            ArrayList arrayList = new ArrayList();
            for(int i = 0; i < searchHits.length; i++) {
                arrayList.add(searchHits[i].getSource());
            }
    
            SearchResponse totalResponse = clientL.prepareSearch()
                    .setIndices("esinner_limecustomerpreview_index")
                    .setSearchType(SearchType.COUNT).setSize(0).get();
            long length = response.getHits().totalHits();
            JsonEntity entity = new JsonEntity();
    
            entity.setTotal(length);
            entity.setRows(arrayList);
    
            return entity;
        }

    -- -- -- -- -- -- 

    3.返回数据

    啦啦啦

  • 相关阅读:
    文档管理项目
    根据商品名称、价格区间检索商品的SQL语句
    ASP.NET MVC进阶三
    ASP.NET MVC进阶二
    vscode编写html,常用快捷方式与插件
    bpexpdate – 更改映像目录库中备份的截止日期以及介质目录库中介质的截止日期nbu
    Netbackup用于技术支持的问题报告(报障模版)
    netbackup 8.1安装注意事项
    金融的本质是什么?终于有人讲清楚了!(源于网络)
    nbu集群Alwayson相关问题
  • 原文地址:https://www.cnblogs.com/ClassNotFoundException/p/7279871.html
Copyright © 2011-2022 走看看