protected GeoDecayBaseScoreFunction(string field, GeoPoint origin, DistanceUnit scale, string decayType)
 {
     _field = field;
     _origin = origin;
     _scale = scale;
     _decayType = decayType;
 }
 /// <summary>
 /// Filters documents that include only hits that exists within a specific distance from a geo point. 
 /// </summary>
 /// <param name="field">name of the field used for the geo point</param>
 /// <param name="location">GeoPoint location</param>
 /// <param name="from">from in distance units</param>
 /// <param name="to">to in distance units</param>
 public GeoDistanceRangeFilter(string field, GeoPoint location, DistanceUnit from, DistanceUnit to)
 {
     _field = field;
     _location = location;
     _from = @from;
     _to = to;
 }
		public LinearGeoPointFunction(string field, GeoPoint origin, DistanceUnit scale) : base(field, origin, scale, "linear"){}
 /// <summary>
 /// Filters documents that include only hits that exists within a specific distance from a geo point. 
 /// </summary>
 /// <param name="field">name of the field used for the geo point</param>
 /// <param name="location">GeoPoint location</param>
 /// <param name="distance">The radius of the circle centred on the specified location. Points which fall into this circle are considered to be matches. 
 /// The distance can be specified in various units. See the section called “Distance Unitsedit”. </param>
 public GeoDistanceFilter(string field, GeoPoint location, DistanceUnit distance)
 {
     _field = field;
     _location = location;
     _distance = distance;
 }
		public ExpGeoPointFunction(string field, GeoPoint origin, DistanceUnit scale) : base(field, origin, scale, "exp"){}
		public GaussGeoPointFunction(string field, GeoPoint origin, DistanceUnit scale) : base(field, origin, scale, "gauss"){}