class FilterQueryUtilityImpl extends java.lang.Object implements FilterQueryUtility
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
COLON |
private StringToDoubleConverter |
converter |
private static java.lang.String |
INTEGER |
private static java.lang.String |
LIST_PRICE_FIELD |
private double |
maxToleranceDecimal |
private double |
minToleranceDecimal |
private static java.lang.String |
OR |
private static java.lang.String |
PAREN_AND_QUOTE |
private static java.lang.String |
QUOTE |
private static java.lang.String |
QUOTE_AND_PAREN |
private static java.lang.String |
RANGE_END |
private static java.lang.String |
RANGE_START |
private static java.lang.String |
RATING_FIELD |
private static java.lang.String |
STAR |
private static int |
STRICT_TOLERANCE |
private static java.lang.String |
TAG_END |
private static java.lang.String |
TAG_START |
private static java.lang.String |
TO |
Constructor and Description |
---|
FilterQueryUtilityImpl(SearchConfig config,
StringToDoubleConverter converter) |
Modifier and Type | Method and Description |
---|---|
private void |
addFilterQueries(org.apache.solr.client.solrj.SolrQuery query,
SearchRequest request) |
private void |
addRangeQueries(org.apache.solr.client.solrj.SolrQuery query,
SearchRequest request) |
private java.lang.String |
createRangeQuery(java.lang.String taggedFieldName,
java.lang.String min,
java.lang.String max) |
private java.util.List<java.lang.String> |
escapeValues(java.util.List<java.lang.String> values) |
private java.lang.String |
getFilterQuery(java.lang.String fieldName,
java.util.List<java.lang.String> values) |
private java.lang.String |
getMaxSearchString(java.lang.String fieldName,
java.lang.Double upperValue) |
private java.lang.String |
getMinSearchString(java.lang.String fieldName,
java.lang.Double lowerValue) |
private java.lang.String |
getRangeQuery(java.util.Locale locale,
java.lang.String fieldName,
DoubleRange range) |
private java.lang.String |
getRangeQueryFieldName(SearchRequest request,
java.lang.String fieldName) |
private java.lang.String |
getSearchString(java.lang.String fieldName,
java.lang.Double value,
double rate) |
org.apache.solr.client.solrj.SolrQuery |
setFilters(org.apache.solr.client.solrj.SolrQuery query,
SearchRequest request) |
private java.lang.String |
tagFieldName(java.lang.String fieldName) |
private static final int STRICT_TOLERANCE
private static final java.lang.String INTEGER
private static final java.lang.String TAG_END
private static final java.lang.String TAG_START
private static final java.lang.String QUOTE_AND_PAREN
private static final java.lang.String PAREN_AND_QUOTE
private static final java.lang.String OR
private static final java.lang.String QUOTE
private static final java.lang.String COLON
private static final java.lang.String STAR
private static final java.lang.String RANGE_END
private static final java.lang.String TO
private static final java.lang.String RANGE_START
private static final java.lang.String LIST_PRICE_FIELD
private static final java.lang.String RATING_FIELD
private final double minToleranceDecimal
private final double maxToleranceDecimal
private final StringToDoubleConverter converter
@Inject public FilterQueryUtilityImpl(SearchConfig config, StringToDoubleConverter converter)
public org.apache.solr.client.solrj.SolrQuery setFilters(org.apache.solr.client.solrj.SolrQuery query, SearchRequest request)
setFilters
in interface FilterQueryUtility
private void addRangeQueries(org.apache.solr.client.solrj.SolrQuery query, SearchRequest request)
private java.lang.String getRangeQueryFieldName(SearchRequest request, java.lang.String fieldName)
private java.lang.String getRangeQuery(java.util.Locale locale, java.lang.String fieldName, DoubleRange range)
private java.lang.String tagFieldName(java.lang.String fieldName)
private java.lang.String getMinSearchString(java.lang.String fieldName, java.lang.Double lowerValue)
private java.lang.String getMaxSearchString(java.lang.String fieldName, java.lang.Double upperValue)
private java.lang.String getSearchString(java.lang.String fieldName, java.lang.Double value, double rate)
private java.lang.String createRangeQuery(java.lang.String taggedFieldName, java.lang.String min, java.lang.String max)
private void addFilterQueries(org.apache.solr.client.solrj.SolrQuery query, SearchRequest request)
private java.util.List<java.lang.String> escapeValues(java.util.List<java.lang.String> values)
private java.lang.String getFilterQuery(java.lang.String fieldName, java.util.List<java.lang.String> values)