栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

rest high level client 创建测试数据

rest high level client 创建测试数据

restHighLevelClient有一个index方法,用来向指定索引下创建数据

官方文档链接如下
官方es创建指定索引下的数据

使用用例

public class TestEsCreate {
    public static void main(String[] args) {
        List httpHosts = new ArrayList<>();
        String[] clients = StringUtils.split("125.31.61.56:52123", ",");

        for (String client : clients) {
            String[] urlFragments = StringUtils.split(client, ":");

            int port = Integer.parseInt(urlFragments[1]);
            String host = urlFragments[0];

            httpHosts.add(new HttpHost(host, port, "http"));
        }

        HttpHost[] httpHostArr = httpHosts.toArray(new HttpHost[0]);
        RestClientBuilder restClientBuilder = RestClient.builder(httpHostArr);

        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic", "itracing@123A"));


        restClientBuilder.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {

            @Override
            public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
                httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);

                return httpClientBuilder;
            }
        });
        restClientBuilder.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
            @Override
            public RequestConfig.Builder customizeRequestConfig(RequestConfig.Builder requestConfigBuilder) {
                requestConfigBuilder.setSocketTimeout(300000);
                requestConfigBuilder.setConnectTimeout(3000);
                return requestConfigBuilder;
            }
        });
        //上面这些是为了创建restHighLevelClient的实例

        RestHighLevelClient restHighLevelClient = new RestHighLevelClient(restClientBuilder);

        String[] eventType = {"asdqw", "gfeqwd", "Aqwdqwdd", "gqwgqwdte", "qgqdqdasdfy", "asfdgqwdqw", "asdqwgqgd", "hsdzxcaq", "jqwdasdqxz", "Exasdqwdq", "asghqwahk"};
        String[] partyName = {"Ada Wang", "Lion Kenedy", "Kris Redfield", "Sherry Birkin", "Klare RedField"};
        while (true) {
            try {
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
                format.setTimeZone(TimeZone.getTimeZone("UTC"));
                String dateNow_timestamp = format.format(new Date(System.currentTimeMillis()));
                String source = "{
                        ""id": ""," +
                        ""serverIp": "100.80.83.187"," +
                        ""ThreadId": "247"," +
                        ""pageTitle": "Portal"," +
                        ""origValue": ""," +
                        ""browser": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"," +
                        ""keyCode": "0"," +
                        ""LogModule": "41301010"}";
                Date date = new Date();
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");
                String dateNow = simpleDateFormat.format(date);
                //此三行是关键
                IndexRequest request = new IndexRequest("logstash-operlog-uportal-" + dateNow);
                request.source(source, XContentType.JSON);
                IndexResponse indexResponse = restHighLevelClient.index(request, RequestOptions.DEFAULT); 
                
                System.out.println(indexResponse.status());
                Thread.sleep(8000);
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }


    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/736240.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号