elasticsearch scroll api--jestclient invoke

@Test
    public void testScroll(){
        JestClientFactory factory = new JestClientFactory();
        factory.setHttpClientConfig(new HttpClientConfig.Builder(Constants.ElasticSearch_Server).multiThreaded(true).readTimeout(300000).build());
        JestClient client = factory.getObject();
        String query = "{" +
                "    \"query\":{" +
                "        \"match\":{\"srv_content\":\"google\"}}" +
                "    }" +
                "}";

        try {
            Search search=new Search.Builder(query).addIndex("ipv4geo").addType("service").setParameter(Parameters.SIZE,5000).setParameter(Parameters.SCROLL,"5m").build();
            JestResult result = client.execute(search);
            String scrollId = result.getJsonObject().get("_scroll_id").getAsString();
            System.out.println(scrollId);
            for (int i=1; i< 10; i++){
                SearchScroll scroll = new SearchScroll.Builder(scrollId,"5m").build();
                result = client.execute(scroll);
                List<IPv4> iPv4List = result.getSourceAsObjectList(IPv4.class);
                System.out.println("===============================================");
                if (iPv4List != null){
                    System.out.println(iPv4List.get(0).getIp());
                    System.out.println(iPv4List.size());
                }
            }


        } catch (Exception e) {
            e.printStackTrace();
        }
    }
相關文章
相關標籤/搜索