Example usage for org.apache.solr.client.solrj.response QueryResponse getIntervalFacets

List of usage examples for org.apache.solr.client.solrj.response QueryResponse getIntervalFacets

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj.response QueryResponse getIntervalFacets.

Prototype

public List<IntervalFacet> getIntervalFacets() 

Source Link

Usage

From source file:org.apache.nifi.processors.solr.QuerySolr.java

License:Apache License

private static void addFacetsFromSolrResponseToJsonWriter(final QueryResponse response, final JsonWriter writer)
        throws IOException {
    writer.beginObject();/*from   w  w  w. ja  v a 2s.  c  o  m*/
    writer.name("facet_queries");
    writer.beginArray();
    for (final Map.Entry<String, Integer> facetQuery : response.getFacetQuery().entrySet()) {
        writer.beginObject();
        writer.name("facet").value(facetQuery.getKey());
        writer.name("count").value(facetQuery.getValue());
        writer.endObject();
    }
    writer.endArray();

    writer.name("facet_fields");
    writer.beginObject();
    for (final FacetField facetField : response.getFacetFields()) {
        writer.name(facetField.getName());
        writer.beginArray();
        for (final FacetField.Count count : facetField.getValues()) {
            writer.beginObject();
            writer.name("facet").value(count.getName());
            writer.name("count").value(count.getCount());
            writer.endObject();
        }
        writer.endArray();
    }
    writer.endObject();

    writer.name("facet_ranges");
    writer.beginObject();
    for (final RangeFacet rangeFacet : response.getFacetRanges()) {
        writer.name(rangeFacet.getName());
        writer.beginArray();
        final List<Count> list = rangeFacet.getCounts();
        for (final Count count : list) {
            writer.beginObject();
            writer.name("facet").value(count.getValue());
            writer.name("count").value(count.getCount());
            writer.endObject();
        }
        writer.endArray();
    }
    writer.endObject();

    writer.name("facet_intervals");
    writer.beginObject();
    for (final IntervalFacet intervalFacet : response.getIntervalFacets()) {
        writer.name(intervalFacet.getField());
        writer.beginArray();
        for (final IntervalFacet.Count count : intervalFacet.getIntervals()) {
            writer.beginObject();
            writer.name("facet").value(count.getKey());
            writer.name("count").value(count.getCount());
            writer.endObject();
        }
        writer.endArray();
    }
    writer.endObject();
    writer.endObject();
}