Example usage for org.apache.lucene.search DoubleValues doubleValue

List of usage examples for org.apache.lucene.search DoubleValues doubleValue

Introduction

In this page you can find the example usage for org.apache.lucene.search DoubleValues doubleValue.

Prototype

public abstract double doubleValue() throws IOException;

Source Link

Document

Get the double value for the current document

Usage

From source file:org.apache.solr.legacy.BBoxValueSource.java

License:Apache License

@Override
public ShapeValues getValues(LeafReaderContext readerContext) throws IOException {

    final DoubleValues minX = DoubleValuesSource.fromDoubleField(strategy.field_minX).getValues(readerContext,
            null);//from w  ww .j  a v a  2  s  .  com
    final DoubleValues minY = DoubleValuesSource.fromDoubleField(strategy.field_minY).getValues(readerContext,
            null);
    final DoubleValues maxX = DoubleValuesSource.fromDoubleField(strategy.field_maxX).getValues(readerContext,
            null);
    final DoubleValues maxY = DoubleValuesSource.fromDoubleField(strategy.field_maxY).getValues(readerContext,
            null);

    //reused
    final Rectangle rect = strategy.getSpatialContext().makeRectangle(0, 0, 0, 0);

    return new ShapeValues() {

        @Override
        public boolean advanceExact(int doc) throws IOException {
            return minX.advanceExact(doc) && maxX.advanceExact(doc) && minY.advanceExact(doc)
                    && maxY.advanceExact(doc);
        }

        @Override
        public Shape value() throws IOException {
            rect.reset(minX.doubleValue(), maxX.doubleValue(), minY.doubleValue(), maxY.doubleValue());
            return rect;
        }

    };
}

From source file:org.apache.solr.legacy.DistanceValueSource.java

License:Apache License

/**
 * Returns the FunctionValues used by the function query.
 */// w w w.  j  a v a  2 s  . com
@Override
public DoubleValues getValues(LeafReaderContext readerContext, DoubleValues scores) throws IOException {

    final DoubleValues ptX = DoubleValuesSource.fromDoubleField(strategy.getFieldNameX())
            .getValues(readerContext, null);
    final DoubleValues ptY = DoubleValuesSource.fromDoubleField(strategy.getFieldNameY())
            .getValues(readerContext, null);
    final DistanceCalculator calculator = strategy.getSpatialContext().getDistCalc();

    return DoubleValues.withDefault(new DoubleValues() {

        @Override
        public double doubleValue() throws IOException {
            return calculator.distance(from, ptX.doubleValue(), ptY.doubleValue()) * multiplier;
        }

        @Override
        public boolean advanceExact(int doc) throws IOException {
            return ptX.advanceExact(doc) && ptY.advanceExact(doc);
        }
    }, nullValue);

}