public static IDictionary <String, KeyItem> GetDictionary <T>(this BucketAggregationBase aggs, Expression <Func <T, Object> > fieldGetter) { var aggName = fieldGetter.GetAggName(AggType.GroupBy); var itemsTerms = aggs.Terms(aggName); return(itemsTerms.Items.ToDictionary(x => x.Key)); }
public static IEnumerable <KeyItem> GetGroupBy <T>(this BucketAggregationBase aggs, Expression <Func <T, Object> > fieldGetter) { var aggName = fieldGetter.GetAggName(AggType.GroupBy); var itemsTerms = aggs.Terms(aggName); return(itemsTerms.Items); }
private BucketAggregationBase GetParentContainer(IQueryNode node, IQueryVisitorContext context) { BucketAggregationBase container = null; var currentNode = node; while (container == null && currentNode != null) { IQueryNode n = currentNode; container = n.GetAggregation(() => { var result = n.GetDefaultAggregation(context); if (result != null) { n.SetAggregation(result); } return(result); }) as BucketAggregationBase; if (currentNode.Parent != null) { currentNode = currentNode.Parent; } else { break; } } if (container == null) { container = new ChildrenAggregation(null, null); currentNode.SetAggregation(container); } return(container); }
public static IEnumerable <KeyItem> GetGroupBy(this BucketAggregationBase aggs, string key) { var itemsTerms = aggs.Terms(key); return(itemsTerms.Items); }