elasticsearch scroll api--jestclient invoke

时间:2023-03-08 17:51:35
@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();
}
}