package won.matcher.solr.query.factory;
/**
* Created by hfriedrich on 22.08.2016.
*/
public class GeoDistFilterQueryFactory extends SolrQueryFactory {
private float latitude;
private float longitude;
private String solrLocationField;
private double distance;
public GeoDistFilterQueryFactory(String solrLocationField, float latitude, float longitude, double distanceInKilometers) {
this.solrLocationField = solrLocationField;
this.latitude = latitude;
this.longitude = longitude;
distance = distanceInKilometers;
}
@Override
protected String makeQueryString() {
// create a geographical distance filter with radius "distance" (in kilometers)
StringBuilder sb = new StringBuilder();
sb.append("{!geofilt sfield=").append(solrLocationField).append(" pt=")
.append(latitude).append(",").append(longitude).append(" d=").append(distance).append("}");
return sb.toString();
}
}