Search in sources :

Example 6 with Bucket

use of org.apache.solr.client.solrj.io.stream.metrics.Bucket in project lucene-solr by apache.

the class FacetStream method toExpression.

@Override
public StreamExpressionParameter toExpression(StreamFactory factory) throws IOException {
    // function name
    StreamExpression expression = new StreamExpression(factory.getFunctionName(this.getClass()));
    // collection
    expression.addParameter(collection);
    // parameters
    ModifiableSolrParams tmpParams = new ModifiableSolrParams(params);
    for (Entry<String, String[]> param : tmpParams.getMap().entrySet()) {
        expression.addParameter(new StreamExpressionNamedParameter(param.getKey(), String.join(",", param.getValue())));
    }
    // buckets
    {
        StringBuilder builder = new StringBuilder();
        for (Bucket bucket : buckets) {
            if (0 != builder.length()) {
                builder.append(",");
            }
            builder.append(bucket.toString());
        }
        expression.addParameter(new StreamExpressionNamedParameter("buckets", builder.toString()));
    }
    // bucketSorts
    {
        StringBuilder builder = new StringBuilder();
        for (FieldComparator sort : bucketSorts) {
            if (0 != builder.length()) {
                builder.append(",");
            }
            builder.append(sort.toExpression(factory));
        }
        expression.addParameter(new StreamExpressionNamedParameter("bucketSorts", builder.toString()));
    }
    // metrics
    for (Metric metric : metrics) {
        expression.addParameter(metric.toExpression(factory));
    }
    // limit
    expression.addParameter(new StreamExpressionNamedParameter("bucketSizeLimit", Integer.toString(bucketSizeLimit)));
    // zkHost
    expression.addParameter(new StreamExpressionNamedParameter("zkHost", zkHost));
    return expression;
}
Also used : StreamExpression(org.apache.solr.client.solrj.io.stream.expr.StreamExpression) StreamExpressionNamedParameter(org.apache.solr.client.solrj.io.stream.expr.StreamExpressionNamedParameter) Bucket(org.apache.solr.client.solrj.io.stream.metrics.Bucket) FieldComparator(org.apache.solr.client.solrj.io.comp.FieldComparator) MultipleFieldComparator(org.apache.solr.client.solrj.io.comp.MultipleFieldComparator) Metric(org.apache.solr.client.solrj.io.stream.metrics.Metric) ModifiableSolrParams(org.apache.solr.common.params.ModifiableSolrParams)

Aggregations

Bucket (org.apache.solr.client.solrj.io.stream.metrics.Bucket)6 Metric (org.apache.solr.client.solrj.io.stream.metrics.Metric)6 ModifiableSolrParams (org.apache.solr.common.params.ModifiableSolrParams)5 SolrClientCache (org.apache.solr.client.solrj.io.SolrClientCache)4 Tuple (org.apache.solr.client.solrj.io.Tuple)4 FieldComparator (org.apache.solr.client.solrj.io.comp.FieldComparator)4 MultipleFieldComparator (org.apache.solr.client.solrj.io.comp.MultipleFieldComparator)4 CountMetric (org.apache.solr.client.solrj.io.stream.metrics.CountMetric)4 MaxMetric (org.apache.solr.client.solrj.io.stream.metrics.MaxMetric)4 MeanMetric (org.apache.solr.client.solrj.io.stream.metrics.MeanMetric)4 MinMetric (org.apache.solr.client.solrj.io.stream.metrics.MinMetric)4 SumMetric (org.apache.solr.client.solrj.io.stream.metrics.SumMetric)4 UpdateRequest (org.apache.solr.client.solrj.request.UpdateRequest)4 SolrParams (org.apache.solr.common.params.SolrParams)4 Test (org.junit.Test)4 StreamExpression (org.apache.solr.client.solrj.io.stream.expr.StreamExpression)2 StreamExpressionNamedParameter (org.apache.solr.client.solrj.io.stream.expr.StreamExpressionNamedParameter)2