ElasticSearch에 쿼리할 내용을 만들고 쿼리한 뒤 결과까지 반환해 주는 Helper API입니다.
Index
, StartTime
, endTime
만 추가하면 알아서 indexlist string 만들어 줌
Builder(String, Long, Long); // 범위 내 날짜 index에서 검색
Builder(String, Long); // 지정한 날짜부터 지금까지의 index 검색
Builder(String); // 처음부터 끝까지 모든 index 검색
사용하려는 클래스에 있는 Jest client를 등록해야 함
setJestClient(JestClient) //--> search 하기 전에 반드시 등록!!
type(String)
termsQuery(String, List<String>)
termsQuery(String, String)
대소와 등호는 함수명으로 처리
rangeQueryGteLte(String, Number, Number)
rangeQueryGtLte(String, Number, Number)
rangeQueryGteLt(String, Number, Number)
rangeQueryGtLt(String, Number, Number)
rangeQueryLt(String, Number)
rangeQueryLte(String, Number)
rangeQueryGt(String, Number)
rangeQueryGte(String, Number)
sortAsc(String)
sortDesc(String)
size(int)
fetchSource(List<String>)
순서대로 지정하면 됨
termsAggregation(String, String)
termsAggregation(String, String, int)
histogramAggregation(String, String, long)
cardinalityAggregation(String, String)
statsAggregation(String, String)
sumAggregation(String, String)
avgAggregation(String, String)
maxAggregation(String, String)
dateHistogramAggregationInMonth(String, String)
dateHistogramAggregationInDays(String, String, int)
dateHistogramAggregationInMinutes(String, String, int)
dateHistogramAggregationInSeconds(String, String, int)
search(); // JsonObject
searchAndGetMap(); // Map
searchByScroll(); // JsonArray
ElasticSearchProducer
의 getPATxnTrendDataFromES
함수에 사용하였으며 ElasticSearchHelperTest.java
파일에도 많은 예시가 있음.
JsonObject obj = new ElasticSearchHelper.Builder("txn_end", System.currentTimeMillis())
.rangeQueryGtLt("timestamp", System.currentTimeMillis()-3600000, System.currentTimeMillis())
.size(1)
.setJestClient(jestClient)
.search();