internal static string ToSerializedValue(this FacetSortOrder value) { switch (value) { case FacetSortOrder.Asc: return("asc"); case FacetSortOrder.Desc: return("desc"); } return(null); }
/// <summary> /// Initializes a new instance of the <see cref="FacetConfiguration"/> class. /// </summary> /// <param name="fieldName"> /// The name. /// </param> /// <param name="sortOrder"> /// The sort order. /// </param> /// <param name="handlerType"> /// Handler type /// </param> /// <param name="facetSpec"> /// Facet spec /// </param> /// <param name="facetHandler"> /// facet handler /// </param> public FacetConfiguration(string fieldName, FacetSortOrder sortOrder, FacetHandlerType handlerType, FacetSpec facetSpec, IFacetHandler facetHandler) { this.FieldName = fieldName; this.SortOrder = sortOrder; this.FacetHandlerType = handlerType; this.Spec = facetSpec ?? new FacetSpec() { MinHitCount = 1 }; this.Spec.OrderBy = GetFacetSpecSortOrder(sortOrder); this.FacetHandler = facetHandler ?? new SimpleFacetHandler(fieldName); }
/// <summary> /// The get facet spec sort order. /// </summary> /// <param name="sortOrder"> /// The sort order. /// </param> /// <returns> /// The <see cref="FacetSpec.FacetSortSpec"/>. /// </returns> /// <exception cref="Exception"> /// Throws if no mapping is defined from FacetSortOrder to FacetSpec.FacetSortSpec /// </exception> private static FacetSpec.FacetSortSpec GetFacetSpecSortOrder(FacetSortOrder sortOrder) { switch (sortOrder) { case FacetSortOrder.OrderHitsDesc: return(FacetSpec.FacetSortSpec.OrderHitsDesc); case FacetSortOrder.OrderValueAsc: return(FacetSpec.FacetSortSpec.OrderValueAsc); case FacetSortOrder.OrderValueDesc: return(FacetSpec.FacetSortSpec.OrderByCustom); default: throw new Exception("No FacetSortOrder mapping defined for this FacetSpec.FacetSortSpec type."); } }
/// <summary> /// Initializes a new instance of the <see cref="FacetConfiguration"/> class. /// </summary> /// <param name="fieldName"> /// The name. /// </param> /// <param name="sortOrder"> /// The sort order. /// </param> public FacetConfiguration(string fieldName, FacetSortOrder sortOrder) : this(fieldName, sortOrder, FacetHandlerType.Static, null, null) { }