public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { GeoDistanceFilter term = (GeoDistanceFilter)value; if (term != null) { writer.WriteStartObject(); writer.WritePropertyName("geo_distance"); writer.WriteStartObject(); if (!string.IsNullOrEmpty(term.Distance)) { writer.WritePropertyName("distance"); writer.WriteValue(term.Distance); if (!string.IsNullOrEmpty(term.DistanceType)) { writer.WritePropertyName("distance_type"); writer.WriteValue(term.DistanceType); } if (!string.IsNullOrEmpty(term.Field)) { writer.WritePropertyName(term.Field); writer.WriteValue(term.Location); } } writer.WriteEndObject(); writer.WriteEndObject(); } }
public void TestGeoDistanceFilter() { var geoDistanceFilter = new GeoDistanceFilter("pin.location", "40,-70", "200km"); var result = client.Search(index, "type", new FilteredQuery(new MatchAllQuery(), geoDistanceFilter)); }