Spring Data Solr

org.springframework.data.solr.core.query
Class FacetOptions

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

public class FacetOptions
extends Object

Set of options that can be set on a FacetQuery

Author:
Christoph Strobl, Francisco Spaeth

Nested Class Summary
static class FacetOptions.FacetParameter
           
static class FacetOptions.FacetSort
           
static class FacetOptions.FieldWithFacetParameters
           
 
Field Summary
static int DEFAULT_FACET_LIMIT
           
static int DEFAULT_FACET_MIN_COUNT
           
static FacetOptions.FacetSort DEFAULT_FACET_SORT
           
 
Constructor Summary
FacetOptions()
           
FacetOptions(Field... fields)
          Creates new instance faceting on given fields
FacetOptions(SolrDataQuery... facetQueries)
          Creates new instance faceting on given queries
FacetOptions(String... fieldnames)
          Creates new instance faceting on fields with given name
 
Method Summary
 FacetOptions addFacetOnField(Field field)
          Append additional field for faceting
 FacetOptions addFacetOnField(String fieldname)
          Append additional field with given name for faceting
 FacetOptions addFacetOnFlieldnames(Collection<String> fieldnames)
          Append all fieldnames for faceting
 FacetOptions addFacetOnPivot(Field... fields)
          Add pivot facet on given Fields.
 FacetOptions addFacetOnPivot(String... fieldnames)
           
 FacetOptions addFacetQuery(SolrDataQuery query)
          Append facet.query
 int getFacetLimit()
          Get the max number of results per facet field.
 int getFacetMinCount()
          get the min number of hits a result has to have to get listed in result.
 List<Field> getFacetOnFields()
          Get the list of Fields to facet on
 List<PivotField> getFacetOnPivots()
          Get the list of pivot Fields to face on
 String getFacetPrefix()
          get value used for facet.prefix
 List<SolrDataQuery> getFacetQueries()
          Get the list of facetQueries
 FacetOptions.FacetSort getFacetSort()
          Get sorting of facet results.
 Collection<FacetOptions.FieldWithFacetParameters> getFieldsWithParameters()
           
 Pageable getPageable()
          Get the facet page requested.
 boolean hasFacetPrefix()
           
 boolean hasFacetQueries()
           
 boolean hasFacets()
           
 boolean hasFields()
           
 boolean hasPivotFields()
           
 FacetOptions setFacetLimit(int rowsToReturn)
          Set facet.limit
 FacetOptions setFacetMinCount(int minCount)
          Set minimum number of hits facet.mincount for result to be included in response
 FacetOptions setFacetPrefix(String facetPrefix)
          Set facet.prefix
 FacetOptions setFacetSort(FacetOptions.FacetSort facetSort)
          Set facet.sort (INDEX or COUNT)
 FacetOptions setPageable(Pageable pageable)
          Set facet.offet and facet.limit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_FACET_MIN_COUNT

public static final int DEFAULT_FACET_MIN_COUNT
See Also:
Constant Field Values

DEFAULT_FACET_LIMIT

public static final int DEFAULT_FACET_LIMIT
See Also:
Constant Field Values

DEFAULT_FACET_SORT

public static final FacetOptions.FacetSort DEFAULT_FACET_SORT
Constructor Detail

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

Parameters:
fieldnames -

FacetOptions

public FacetOptions(SolrDataQuery... facetQueries)
Creates new instance faceting on given queries

Parameters:
facetQueries -
Method Detail

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:

addFacetOnPivot

public final FacetOptions addFacetOnPivot(Field... fields)
Add pivot facet on given Fields.

Parameters:
fields -
Returns:

addFacetOnPivot

public final FacetOptions addFacetOnPivot(String... fieldnames)
Parameters:
fieldName -
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 Pageable getPageable()
Get the facet page requested.

Returns:

setPageable

public FacetOptions setPageable(Pageable pageable)
Set facet.offet and facet.limit

Parameters:
pageable -
Returns:

getFacetPrefix

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()

Spring Data Solr

Copyright © 2011-2014-2014 Pivotal. All Rights Reserved.