Exemple #1
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            NumericRangeFilter term = (NumericRangeFilter)value;

            if (term != null)
            {
                writer.WriteStartObject();
                writer.WritePropertyName("numeric_range");
                writer.WriteStartObject();
                writer.WritePropertyName(term.Field);
                writer.WriteStartObject();
                writer.WritePropertyName("from");
                writer.WriteValue(term.From);
                writer.WritePropertyName("to");
                writer.WriteValue(term.To);
                writer.WritePropertyName("include_lower");
                writer.WriteValue(term.IncludeLower);
                writer.WritePropertyName("include_upper");
                writer.WriteValue(term.IncludeUpper);
                writer.WriteEndObject();
                writer.WriteEndObject();
//                writer.WriteRaw(",\"_cache\": " + term.Cache.ToString().ToLower());
                writer.WriteEndObject();
            }
        }
        public void TestNumRangeFilter()
        {
            var rangefilter = new NumericRangeFilter("age", 22, 25, true, true);
            ConstantScoreQuery query=new ConstantScoreQuery(rangefilter);

            var result= client.Search(index, "type" , query, 0, 5);

            Assert.AreEqual(4, result.GetTotalCount());


            rangefilter = new NumericRangeFilter("age", 22, 25, false, true);
            query = new ConstantScoreQuery(rangefilter);

            result = client.Search(index, "type" , query, 0, 5);

            Assert.AreEqual(3, result.GetTotalCount());

            rangefilter = new NumericRangeFilter("age", 22, 25, false, false);
            query = new ConstantScoreQuery(rangefilter);

            result = client.Search(index, "type" , query, 0, 5);

            Assert.AreEqual(2, result.GetTotalCount());
        }