private static void addStatsFromSolrResponseToJsonWriter(final QueryResponse response, final JsonWriter writer) throws IOException { writer.beginObject(); writer.name("stats_fields"); writer.beginObject(); for (Map.Entry<String,FieldStatsInfo> entry: response.getFieldStatsInfo().entrySet()) { FieldStatsInfo fsi = entry.getValue(); writer.name(entry.getKey()); writer.beginObject(); writer.name("min").value(fsi.getMin().toString()); writer.name("max").value(fsi.getMax().toString()); writer.name("count").value(fsi.getCount()); writer.name("missing").value(fsi.getMissing()); writer.name("sum").value(fsi.getSum().toString()); writer.name("mean").value(fsi.getMean().toString()); writer.name("sumOfSquares").value(fsi.getSumOfSquares()); writer.name("stddev").value(fsi.getStddev()); writer.endObject(); } writer.endObject(); writer.endObject(); }
private static void addStatsFromSolrResponseToJsonWriter(final QueryResponse response, final JsonWriter writer) throws IOException { writer.beginObject(); writer.name("stats_fields"); writer.beginObject(); for (Map.Entry<String,FieldStatsInfo> entry: response.getFieldStatsInfo().entrySet()) { FieldStatsInfo fsi = entry.getValue(); writer.name(entry.getKey()); writer.beginObject(); writer.name("min").value(fsi.getMin().toString()); writer.name("max").value(fsi.getMax().toString()); writer.name("count").value(fsi.getCount()); writer.name("missing").value(fsi.getMissing()); writer.name("sum").value(fsi.getSum().toString()); writer.name("mean").value(fsi.getMean().toString()); writer.name("sumOfSquares").value(fsi.getSumOfSquares()); writer.name("stddev").value(fsi.getStddev()); writer.endObject(); } writer.endObject(); writer.endObject(); }
// Field names private static final String FIELD_ONE = "field_one"; private static final String FIELD_TWO = "field_two"; // Initialized somewhere in constructor private final HttpSolrServer solrClient; public void printStats() throws SolrServerException { final SolrQuery query = new SolrQuery("*:*"); query.setGetFieldStatistics(true); query.setGetFieldStatistics(FIELD_ONE); query.setGetFieldStatistics(FIELD_TWO); final QueryResponse response = solrClient.query(query); final FieldStatsInfo fieldOneStats = response.getFieldStatsInfo().get(FIELD_ONE); System.out.println(fieldOneStats.getSum()); System.out.println(fieldOneStats.getMin()); System.out.println(fieldOneStats.getMax()); final FieldStatsInfo fieldTwoStats = response.getFieldStatsInfo().get(FIELD_TWO); System.out.println(fieldTwoStats.getSum()); System.out.println(fieldTwoStats.getMin()); System.out.println(fieldTwoStats.getMax()); }
new StatsFacetResult(field, castForDescriptor(statsInfo.getMin(),field, useCase), castForDescriptor(statsInfo.getMax(),field, useCase), (Double) statsInfo.getSum(), statsInfo.getCount(),
private static <T extends SimpleStatsResult> T populateStatsResultWithFieldStatsInfo(T statsResult, FieldStatsInfo value) { statsResult.setMax(value.getMax()); statsResult.setMin(value.getMin()); statsResult.setCount(value.getCount()); statsResult.setMissing(value.getMissing()); statsResult.setStddev(value.getStddev()); statsResult.setSumOfSquares((Double) new DirectFieldAccessor(value).getPropertyValue("sumOfSquares")); statsResult.setMean(value.getMean()); statsResult.setSum(value.getSum()); return statsResult; }