Example usage for org.apache.lucene.spatial.bbox BBoxOverlapRatioValueSource BBoxOverlapRatioValueSource

List of usage examples for org.apache.lucene.spatial.bbox BBoxOverlapRatioValueSource BBoxOverlapRatioValueSource

Introduction

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

Prototype

public BBoxOverlapRatioValueSource(ShapeValuesSource rectValueSource, boolean isGeo, Rectangle queryExtent,
        double queryTargetProportion, double minSideLength) 

Source Link

Usage

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

License:Apache License

/** Returns a similarity based on {@link BBoxOverlapRatioValueSource}. This is just a
 * convenience method. *///from   www. j a va 2  s  .co m
public DoubleValuesSource makeOverlapRatioValueSource(Rectangle queryBox, double queryTargetProportion) {
    return new BBoxOverlapRatioValueSource(makeShapeValueSource(), ctx.isGeo(), queryBox, queryTargetProportion,
            0.0);
}

From source file:org.apache.solr.schema.BBoxField.java

License:Apache License

@Override
protected ValueSource getValueSourceFromSpatialArgs(QParser parser, SchemaField field, SpatialArgs spatialArgs,
        String scoreParam, BBoxStrategy strategy) {
    if (scoreParam == null) {
        return null;
    }/*from  www  .  j  a v a 2 s . c o m*/
    switch (scoreParam) {
    //TODO move these to superclass after LUCENE-5804 ?
    case OVERLAP_RATIO:
        double queryTargetProportion = 0.25;//Suggested default; weights towards target area

        String v = parser.getParam(PARAM_QUERY_TARGET_PROPORTION);
        if (v != null)
            queryTargetProportion = Double.parseDouble(v);

        double minSideLength = 0.0;
        v = parser.getParam(PARAM_MIN_SIDE_LENGTH);
        if (v != null)
            minSideLength = Double.parseDouble(v);

        return new BBoxOverlapRatioValueSource(strategy.makeShapeValueSource(), ctx.isGeo(),
                (Rectangle) spatialArgs.getShape(), queryTargetProportion, minSideLength);

    case AREA:
        return new ShapeAreaValueSource(strategy.makeShapeValueSource(), ctx, ctx.isGeo());

    case AREA2D:
        return new ShapeAreaValueSource(strategy.makeShapeValueSource(), ctx, false);

    default:
        return super.getValueSourceFromSpatialArgs(parser, field, spatialArgs, scoreParam, strategy);
    }
}