List of usage examples for org.apache.lucene.search DoubleValues doubleValue
public abstract double doubleValue() throws IOException;
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); }