internal static string ToSerializedValue(this FacetSortOrder value)
        {
            switch (value)
            {
            case FacetSortOrder.Asc:
                return("asc");

            case FacetSortOrder.Desc:
                return("desc");
            }
            return(null);
        }
Beispiel #2
0
 /// <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);
 }
Beispiel #3
0
        /// <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.");
            }
        }
Beispiel #4
0
 /// <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)
 {
 }