Esempio n. 1
0
        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));

        }