2014-12-12 7 views
5

Ich benutzeWie die volle Elasticsearch Anfrage für Debug in Java drucken

ElasticSearchTemplate().queryForPage(SearchQuery, CLASS) 

Wie kann ich die volle json Anfrage drucken?

Ich schaffe es nur Filter drucken, indem Sie:

searchQuery.getFilter().toString() 

kann aber nicht verwalten, das Gleiche zu tun mit:

searchQuery.getAggregations().toString(); 

Ich möchte wie in der Konsole etwas drucken:

"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 
      } 
      } 
     } 
     } 
    } 
    } 
} 

Antwort

0

Können Sie die SearchResponse.getAggregations(). AsList() verwenden?

1

Dies ist, was ich begonnen habe, das gleiche zu tun.

{ 
    "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"); 
 
      } 
 
     }

Verwandte Themen