public void CardinalityAggregation_FromHelper() { var q = new Query <IndexedClass>(true).NestedAggregation(x => x.Children, AggregationsHelper.CardinalityAggregation <IndexedClass>(ic => ic.Children.PropertyName(c => c.SomeNumber))) .SetSize(0); var json = q.ToJson(); Assert.AreEqual( "{\"query\":{\"bool\":{}},\"aggs\":{\"nested_Children_0\":{\"nested\":{\"path\":\"Children\"}," + "\"aggs\":{\"nested\":{\"cardinality\":{\"field\":\"Children.SomeNumber\"}}}}},\"size\":0}", json); }
public void RangeAggregation_Query() { var q = new Query <IndexedClass>(true) .CardinalityAggregation(ic => ic.ObjectId) .RangeAggregation(ic => ic.SomeNumber, new[] { new RangeAggrValue <int> { Key = "123", From = 1, To = 4 }, new RangeAggrValue <int> { Key = "4", From = 4, To = 5 } }, AggregationsHelper.CardinalityAggregation <IndexedClass>(ic => ic.ObjectId) ); var json = q.ToJson(); Assert.AreEqual("{\"query\":{\"bool\":{}},\"aggs\":{\"cardinality_ObjectId\":{\"cardinality\":" + "{\"field\":\"ObjectId\"}},\"range_SomeNumber\":{\"range\":{\"ranges\":[{\"key\":" + "\"123\",\"from\":1,\"to\":4},{\"key\":\"4\",\"from\":4,\"to\":5}],\"field\":\"SomeNumber\"}" + ",\"aggs\":{\"Cardinality\":{\"cardinality\":{\"field\":\"ObjectId\"}}}}}}", json); }