[Elasticsearch] SearchType.SCAN 기능 테스트
Elastic/Elasticsearch 2014. 12. 9. 18:58일단 가볍게 코드 부터 keeping 합니다.
SearchResponse searchResponse = client.prepareSearch(INDICE_NAME)
.setSearchType(SearchType.SCAN)
.setQuery(new MatchAllQueryBuilder())
.setSize(FETCH_SIZE)
.setScroll(TimeValue.timeValueMinutes(10))
.execute().actionGet(TimeValue.timeValueMinutes(10));
while (true) {
searchResponse = client.prepareSearchScroll(searchResponse.getScrollId()).setScroll(TimeValue.timeValueMinutes(10)).execute().actionGet(TimeValue.timeValueMinutes(10));
if (searchResponse.getHits().hits().length == 0) {
break;
}
}
뭐 간단 합니다.
shard 별로 FETCH_SIZE 만큼씩 요청시 데이터를 가져 오는 로직 입니다.
기타 응용이나 자세한 설명은 다음에.. ^^
로직만 확인하세요.