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();
		}
	}
posted @ 2016-11-16 15:42  蚂蚁都督  阅读(2961)  评论(1编辑  收藏  举报