Class FacetOptions

java.lang.Object
org.springframework.data.solr.core.query.FacetOptions

public class FacetOptions extends Object
Set of options that can be set on a FacetQuery
  • Field Details

  • Constructor Details

    • FacetOptions

      public FacetOptions()
    • FacetOptions

      public FacetOptions(String... fieldnames)
      Creates new instance faceting on fields with given name
      Parameters:
      fieldnames -
    • FacetOptions

      public FacetOptions(Field... fields)
      Creates new instance faceting on given fields
    • FacetOptions

      public FacetOptions(SolrDataQuery... facetQueries)
      Creates new instance faceting on given queries
      Parameters:
      facetQueries -
  • Method Details

    • addFacetOnField

      public final FacetOptions addFacetOnField(Field field)
      Append additional field for faceting
      Parameters:
      field -
      Returns:
    • addFacetOnField

      public final FacetOptions addFacetOnField(String fieldname)
      Append additional field with given name for faceting
      Parameters:
      fieldname -
      Returns:
    • addFacetByRange

      public final FacetOptions addFacetByRange(FacetOptions.FieldWithRangeParameters<?,?,?> field)
      Append additional field for range faceting
      Parameters:
      field - the Field to be appended to range faceting fields
      Returns:
      this
      Since:
      1.5
    • addFacetOnPivot

      public final FacetOptions addFacetOnPivot(Field... fields)
      Add pivot facet on given Fields.
      Parameters:
      fields -
      Returns:
    • addFacetOnPivot

      public final FacetOptions addFacetOnPivot(String... fieldnames)
      Returns:
    • addFacetOnFlieldnames

      public final FacetOptions addFacetOnFlieldnames(Collection<String> fieldnames)
      Append all fieldnames for faceting
      Parameters:
      fieldnames -
      Returns:
    • addFacetQuery

      public final FacetOptions addFacetQuery(SolrDataQuery query)
      Append facet.query
      Parameters:
      query -
      Returns:
    • getFacetQueries

      public List<SolrDataQuery> getFacetQueries()
      Get the list of facetQueries
      Returns:
    • setFacetMinCount

      public FacetOptions setFacetMinCount(int minCount)
      Set minimum number of hits facet.mincount for result to be included in response
      Parameters:
      minCount - Default is 1
      Returns:
    • setFacetLimit

      public FacetOptions setFacetLimit(int rowsToReturn)
      Set facet.limit
      Parameters:
      rowsToReturn - Default is 10
      Returns:
    • setFacetSort

      public FacetOptions setFacetSort(FacetOptions.FacetSort facetSort)
      Set facet.sort (INDEX or COUNT)
      Parameters:
      facetSort - Default is COUNT
      Returns:
    • getFacetOnFields

      public final List<Field> getFacetOnFields()
      Get the list of Fields to facet on
      Returns:
    • getFacetOnPivots

      public final List<PivotField> getFacetOnPivots()
      Get the list of pivot Fields to face on
      Returns:
    • getFacetMinCount

      public int getFacetMinCount()
      get the min number of hits a result has to have to get listed in result. Default is 1. Zero is not recommended.
      Returns:
    • getFacetLimit

      public int getFacetLimit()
      Get the max number of results per facet field.
      Returns:
    • getFacetSort

      public FacetOptions.FacetSort getFacetSort()
      Get sorting of facet results. Default is COUNT
      Returns:
    • getPageable

      public org.springframework.data.domain.Pageable getPageable()
      Get the facet page requested.
      Returns:
    • setPageable

      public FacetOptions setPageable(org.springframework.data.domain.Pageable pageable)
      Set facet.offet and facet.limit
      Parameters:
      pageable -
      Returns:
    • getFacetPrefix

      @Nullable public String getFacetPrefix()
      get value used for facet.prefix
      Returns:
    • setFacetPrefix

      public FacetOptions setFacetPrefix(String facetPrefix)
      Set facet.prefix
      Parameters:
      facetPrefix -
      Returns:
    • hasFields

      public boolean hasFields()
      Returns:
      true if at least one facet field set
    • hasFacetQueries

      public boolean hasFacetQueries()
      Returns:
      true if filter queries applied for faceting
    • hasPivotFields

      public boolean hasPivotFields()
      Returns:
      true if pivot facets apply fo faceting
    • hasFacets

      public boolean hasFacets()
      Returns:
      true if any facet.field or facet.query set
    • hasFacetPrefix

      public boolean hasFacetPrefix()
      Returns:
      true if non empty prefix available
    • getFieldsWithParameters

      public Collection<FacetOptions.FieldWithFacetParameters> getFieldsWithParameters()
    • getFieldsWithRangeParameters

      public Collection<FacetOptions.FieldWithRangeParameters<?,?,?>> getFieldsWithRangeParameters()
      Returns:
      Since:
      1.5