Example usage for org.apache.lucene.spatial ShapeValues ShapeValues

List of usage examples for org.apache.lucene.spatial ShapeValues ShapeValues

Introduction

In this page you can find the example usage for org.apache.lucene.spatial ShapeValues ShapeValues.

Prototype

ShapeValues

Source Link

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);//  w w w.  j av  a 2  s.c  o m
    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;
        }

    };
}