示例#1
0
        public static AggregationDescriptor <T> SortedTopHits <T>(this AggregationDescriptor <T> agg, int size, Expression <Func <T, object> > fieldSort, SortType sorttype, params Expression <Func <T, object> >[] fieldGetter) where T : class
        {
            var aggName             = sorttype + fieldSort.GetAggName(AggType.TopHits);
            var sortFieldDescriptor = new SortFieldDescriptor <T>();

            sortFieldDescriptor = sortFieldDescriptor.OnField(fieldSort);
            if (sorttype == SortType.Ascending)
            {
                sortFieldDescriptor = sortFieldDescriptor.Ascending();
            }
            else
            {
                sortFieldDescriptor = sortFieldDescriptor.Descending();
            }
            return(agg.TopHits(aggName, x => x.Size(size).Source(i => i.Include(fieldGetter)).Sort(s => sortFieldDescriptor)));
        }
示例#2
0
        public static AggregationDescriptor <T> TopHits <T>(this AggregationDescriptor <T> agg, int size, params Expression <Func <T, object> >[] fieldGetter) where T : class
        {
            var aggName = AggType.TopHits.ToString();

            return(agg.TopHits(aggName, x => x.Size(size).Source(i => i.Include(fieldGetter))));
        }