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(); }
typedMean = statsInfo.getMean(); }else { typedMean = castForDescriptor(statsInfo.getMean(),field, useCase); castForDescriptor(statsInfo.getMin(),field, useCase), castForDescriptor(statsInfo.getMax(),field, useCase), (Double) statsInfo.getSum(), statsInfo.getCount(), statsInfo.getMissing(), statsInfo.getSumOfSquares(), typedMean, statsInfo.getStddev(), statsInfo.getPercentiles(), (List)castForDescriptor(statsInfo.getDistinctValues(),field, useCase), statsInfo.getCountDistinct(), statsInfo.getCardinality());
// 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()); }
private void extractStatsInfo(NamedList<Object> info) { if( info != null ) { _fieldStatsInfo = new HashMap<String, FieldStatsInfo>(); NamedList<NamedList<Object>> ff = (NamedList<NamedList<Object>>) info.get( "stats_fields" ); if( ff != null ) { for( Map.Entry<String,NamedList<Object>> entry : ff ) { NamedList<Object> v = entry.getValue(); if( v != null ) { _fieldStatsInfo.put( entry.getKey(), new FieldStatsInfo( v, entry.getKey() ) ); } } } } }
if (scoreField.isPresent()) { groupResult .setScore((Double) pivotField.getFieldStatsInfo().get(scoreField.get()).getSum());
static Map<String, FieldStatsResult> convertFieldStatsInfoToFieldStatsResultMap( Map<String, FieldStatsInfo> fieldStatsInfo) { if (fieldStatsInfo == null) { return Collections.emptyMap(); } Map<String, FieldStatsResult> result = new LinkedHashMap<>(); for (Entry<String, FieldStatsInfo> entry : fieldStatsInfo.entrySet()) { FieldStatsInfo value = entry.getValue(); if (value == null) { result.put(entry.getKey(), new SimpleFieldStatsResult()); continue; } SimpleFieldStatsResult statsResult = populateStatsResultWithFieldStatsInfo(new SimpleFieldStatsResult(), value); statsResult.setCountDistinct(value.getCountDistinct()); statsResult.setDistinctValues(value.getDistinctValues()); Map<String, List<FieldStatsInfo>> facets = value.getFacets(); if (facets != null) { statsResult.setStatsResults(convertFieldStatsInfoToStatsResultMap(facets)); } result.put(entry.getKey(), statsResult); } return result; }
private Map<String, FieldStatsInfo> extractFieldStatsInfo(NamedList<Object> info) { if( info != null ) { Map<String, FieldStatsInfo> fieldStatsInfoMap = new TreeMap<>(); NamedList<NamedList<Object>> ff = (NamedList<NamedList<Object>>) info.get( "stats_fields" ); if( ff != null ) { for( Map.Entry<String,NamedList<Object>> entry : ff ) { NamedList<Object> v = entry.getValue(); if( v != null ) { fieldStatsInfoMap.put( entry.getKey(), new FieldStatsInfo( v, entry.getKey() ) ); } } } return fieldStatsInfoMap; } return null; }
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 Map<String, FieldStatsInfo> extractFieldStatsInfo(NamedList<Object> info) { if( info != null ) { Map<String, FieldStatsInfo> fieldStatsInfoMap = new TreeMap<>(); NamedList<NamedList<Object>> ff = (NamedList<NamedList<Object>>) info.get( "stats_fields" ); if( ff != null ) { for( Map.Entry<String,NamedList<Object>> entry : ff ) { NamedList<Object> v = entry.getValue(); if( v != null ) { fieldStatsInfoMap.put( entry.getKey(), new FieldStatsInfo( v, entry.getKey() ) ); } } } return fieldStatsInfoMap; } return null; }
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; }
for( int i=0; i<vnl.size(); i++ ) { String n = vnl.getName(i); vals.add( new FieldStatsInfo( vnl.getVal(i), n ) );
for( int i=0; i<vnl.size(); i++ ) { String n = vnl.getName(i); vals.add( new FieldStatsInfo( vnl.getVal(i), n ) );
for( int i=0; i<vnl.size(); i++ ) { String n = vnl.getName(i); vals.add( new FieldStatsInfo( vnl.getVal(i), n ) );