protected virtual int GetSortOrder(FacetFilterSetting setting) { if (setting.SortOrder > 0) { return(setting.SortOrder); } return(_filters.Any() ? _filters.Values.Select(x => x.SortOrder).Max() + 1 : 1); }
public FilterConfiguration Facet <TFilter>(FacetFilterSetting setting) where TFilter : IFilterContent { var filter = Activator.CreateInstance <TFilter>(); setting.SortOrder = GetSortOrder(setting); _filters.Add(filter, setting); return(this); }
public override ITypeSearch <T> AddfacetToQuery(ITypeSearch <T> query, FacetFilterSetting setting) { var converted = Expression.Convert(PropertyValuesExpression.Body, typeof(string)); var expression = Expression.Lambda <Func <T, string> >(converted, PropertyValuesExpression.Parameters); return(query.TermsFacetFor(expression, request => { if (setting.MaxFacetHits.HasValue) { request.Size = setting.MaxFacetHits; } })); }
public FilterConfiguration RangeFacet <TContent, TValue>( Expression <Func <TContent, TValue> > property, Func <FilterBuilder <TContent>, IEnumerable <TValue>, FilterBuilder <TContent> > filterBuilder, FacetFilterSetting setting) where TContent : IContent { var filter = Activator.CreateInstance <RangeFacet <TContent, TValue> >(); filter.PropertyValuesExpression = property; filter.FilterBuilder = filterBuilder; setting.SortOrder = GetSortOrder(setting); _filters.Add(filter, setting); return(this); }
public FilterConfiguration Termsfacet <TContent>( Expression <Func <TContent, string> > property, Func <FilterBuilder <TContent>, string, FilterBuilder <TContent> > aggregate, FacetFilterSetting setting) where TContent : IContent { var filter = Activator.CreateInstance <TermsFacet <TContent> >(); filter.PropertyValuesExpression = property; filter.Aggregate = aggregate; setting.SortOrder = GetSortOrder(setting); _filters.Add(filter, setting); return(this); }
public override ITypeSearch <CatalogContentBase> AddfacetToQuery(ITypeSearch <CatalogContentBase> query, FacetFilterSetting setting) { return(query.TermsFacetFor(x => x.LanguageName(), request => { if (setting.MaxFacetHits.HasValue) { request.Size = setting.MaxFacetHits; } })); }
public ISearch AddfacetToQuery(ISearch query, FacetFilterSetting setting) { return(AddfacetToQuery((ITypeSearch <TContentData>)query, setting)); }
public abstract ITypeSearch <TContentData> AddfacetToQuery(ITypeSearch <TContentData> query, FacetFilterSetting setting);
public override ITypeSearch <CatalogContentBase> AddfacetToQuery(ITypeSearch <CatalogContentBase> query, FacetFilterSetting setting) { return(query); }
public override ITypeSearch <EntryContentBase> AddfacetToQuery(ITypeSearch <EntryContentBase> query, FacetFilterSetting setting) { return(query.TermsFacetFor(x => x.SelectedMarkets())); }
public override ITypeSearch <TContent> AddfacetToQuery(ITypeSearch <TContent> query, FacetFilterSetting setting) { return(query.StatisticalFacetFor(PropertyValuesExpressionObject)); }
public ISearch AddfacetToQuery(ISearch query, FacetFilterSetting setting) { return(query); }