package org.gbif.occurrence.search.solr;
import org.gbif.api.model.common.search.SearchParameter;
/**
* Facets configuration class.
* This class encapsulates the information to build faceted queries of SearchParameter.
*
* moved from common-search, see: https://github.com/gbif/common-search/commit/c9529087d5b34228b045f30323901074218c5d90
*/
public class FacetFieldConfiguration {
private String field;
private SearchParameter searchParameter;
private FacetField.Method method = FacetField.Method.FIELD_CACHE;
private FacetField.SortOrder sortOrder = FacetField.SortOrder.COUNT;
private boolean missing;
/**
* Default constructor.
*/
public FacetFieldConfiguration() {
}
/**
* Full constructor.
*/
public FacetFieldConfiguration(String field, SearchParameter searchParameter, FacetField.Method method,
FacetField.SortOrder sortOrder, boolean missing) {
this.field = field;
this.searchParameter = searchParameter;
this.method = method;
this.sortOrder = sortOrder;
this.missing = missing;
}
/**
* Solr/Index field name.
*/
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
/**
* Occurrence search parameter.
*/
public SearchParameter getSearchParameter() {
return searchParameter;
}
public void setSearchParameter(SearchParameter searchParameter) {
this.searchParameter = searchParameter;
}
/**
* Solr facet method to use.
*/
public FacetField.Method getMethod() {
return method;
}
public void setMethod(FacetField.Method method) {
this.method = method;
}
/**
* Solr facet order.
*/
public FacetField.SortOrder getSortOrder() {
return sortOrder;
}
public void setSortOrder(FacetField.SortOrder sortOrder) {
this.sortOrder = sortOrder;
}
/**
* Flag to show/hide counts for records missing values for this field.
*/
public boolean isMissing() {
return missing;
}
public void setMissing(boolean missing) {
this.missing = missing;
}
}