2014-12-12 21 views
5

tôi sử dụngLàm thế nào để in các yêu cầu elasticsearch đầy đủ cho debug trong java

ElasticSearchTemplate().queryForPage(SearchQuery, CLASS) 

Làm thế nào tôi có thể in theo yêu cầu json đầy đủ?

tôi quản lý để in chỉ lọc bằng cách thực hiện:

searchQuery.getFilter().toString() 

Nhưng không thể quản lý để làm điều tương tự với:

searchQuery.getAggregations().toString(); 

Tôi muốn in trong giao diện điều khiển cái gì đó như:

"aggs": { 
    "agg1": { 
    "terms": { 
     "field": "basket_id_1", 
     "size": 0 
    }, 
    "aggs": { 
     "basket_id_2": { 
     "terms": { 
      "field": "basket_id_2", 
      "size": 0 
     }, 
     "aggs": { 
      "basket_id_3": { 
      "terms": { 
       "field": "basket_id_3", 
       "size": 0 
      } 
      } 
     } 
     } 
    } 
    } 
} 

Trả lời

0

Bạn có thể sử dụng SearchResponse.getAggregations(). AsList() không?

1

Đây là những gì tôi đã bắt đầu sử dụng để làm điều tương tự.

{ 
    "top_agg": { 
    "terms": { 
     "field": "id", 
     "size": 100 
    }, 
    "aggregations": { 
     "parent": { 
     "nested": { 
      "path": "transactions" 
     }, 
     "aggregations": { 
      "totals": { 
      "filter": { 
       "terms": { 
       "transactions.type": [ 
        "ttype" 
       ] 
       } 
      }, 
      "total_events": { 
       "cardinality": { 
       "field": "parent.field" 
       } 
      } 
      } 
     } 
     } 
    } 
    } 
} 

NativeSearchQuery query = queryBuilder.build(); 
 

 
     if (query.getQuery() != null) { 
 
      log.debug(query.getQuery().toString()); 
 
     } 
 
     if (query.getAggregations() != null) { 
 
      try { 
 
       XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON); 
 
       builder.startObject(); 
 
       for (AbstractAggregationBuilder subAgg : query.getAggregations()) { 
 
        subAgg.toXContent(builder, ToXContent.EMPTY_PARAMS); 
 
       } 
 
       builder.endObject(); 
 
       log.debug(builder.string()); 
 

 
      } catch (IOException e) { 
 
       log.debug("Error parsing aggs"); 
 
      } 
 
     }

Các vấn đề liên quan