Package ddf.catalog.source.solr
Class SolrFilterDelegate
java.lang.Object
ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
ddf.catalog.source.solr.SolrFilterDelegate
public class SolrFilterDelegate
extends ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
Translates filter-proxy calls into Solr query syntax.
-
Field Summary
Fields inherited from class ddf.catalog.filter.FilterDelegate
ESCAPE_CHAR, SINGLE_CHAR, WILDCARD_CHAR -
Constructor Summary
ConstructorsConstructorDescriptionSolrFilterDelegate(DynamicSchemaResolver resolver, Map<String, Serializable> enabledFeatures) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.solr.client.solrj.SolrQueryorg.apache.solr.client.solrj.SolrQueryorg.apache.solr.client.solrj.SolrQueryorg.apache.solr.client.solrj.SolrQueryorg.apache.solr.client.solrj.SolrQueryorg.apache.solr.client.solrj.SolrQueryorg.apache.solr.client.solrj.SolrQuerygetIds()org.apache.solr.client.solrj.SolrQueryintersects(String propertyName, String wkt) booleanbooleanorg.apache.solr.client.solrj.SolrQuerynearestNeighbor(String propertyName, String wkt) org.apache.solr.client.solrj.SolrQuerynot(org.apache.solr.client.solrj.SolrQuery operand) org.apache.solr.client.solrj.SolrQueryorg.apache.solr.client.solrj.SolrQueryorg.apache.solr.client.solrj.SolrQuerypropertyIsBetween(String propertyName, double lowerBoundary, double upperBoundary) org.apache.solr.client.solrj.SolrQuerypropertyIsBetween(String propertyName, float lowerBoundary, float upperBoundary) org.apache.solr.client.solrj.SolrQuerypropertyIsBetween(String propertyName, int lowerBoundary, int upperBoundary) org.apache.solr.client.solrj.SolrQuerypropertyIsBetween(String propertyName, long lowerBoundary, long upperBoundary) org.apache.solr.client.solrj.SolrQuerypropertyIsBetween(String propertyName, short lowerBoundary, short upperBoundary) org.apache.solr.client.solrj.SolrQuerypropertyIsBetween(String propertyName, Object lowerBoundary, Object upperBoundary) org.apache.solr.client.solrj.SolrQuerypropertyIsBetween(String propertyName, Date lowerBoundary, Date upperBoundary) org.apache.solr.client.solrj.SolrQuerypropertyIsDivisibleBy(String propertyName, long divisor) org.apache.solr.client.solrj.SolrQuerypropertyIsEqualTo(String propertyName, boolean literal) org.apache.solr.client.solrj.SolrQuerypropertyIsEqualTo(String propertyName, double literal) org.apache.solr.client.solrj.SolrQuerypropertyIsEqualTo(String propertyName, float literal) org.apache.solr.client.solrj.SolrQuerypropertyIsEqualTo(String propertyName, int literal) org.apache.solr.client.solrj.SolrQuerypropertyIsEqualTo(String propertyName, long literal) org.apache.solr.client.solrj.SolrQuerypropertyIsEqualTo(String propertyName, short literal) org.apache.solr.client.solrj.SolrQuerypropertyIsEqualTo(String propertyName, String literal, boolean isCaseSensitive) org.apache.solr.client.solrj.SolrQuerypropertyIsEqualTo(String propertyName, Date exactDate) org.apache.solr.client.solrj.SolrQuerypropertyIsEqualTo(String functionName, List<Object> arguments, Object literal) org.apache.solr.client.solrj.SolrQuerypropertyIsFuzzy(String propertyName, String searchPhrase) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThan(String propertyName, double literal) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThan(String propertyName, float literal) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThan(String propertyName, int literal) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThan(String propertyName, long literal) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThan(String propertyName, short literal) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThan(String propertyName, Date startDate) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThanOrEqualTo(String propertyName, double literal) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThanOrEqualTo(String propertyName, float literal) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThanOrEqualTo(String propertyName, int literal) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThanOrEqualTo(String propertyName, long literal) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThanOrEqualTo(String propertyName, short literal) org.apache.solr.client.solrj.SolrQuerypropertyIsGreaterThanOrEqualTo(String propertyName, Date startDate) org.apache.solr.client.solrj.SolrQuerypropertyIsInProximityTo(String propertyName, Integer distance, String searchTerms) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThan(String propertyName, double literal) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThan(String propertyName, float literal) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThan(String propertyName, int literal) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThan(String propertyName, long literal) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThan(String propertyName, short literal) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThan(String propertyName, Date endDate) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThanOrEqualTo(String propertyName, double literal) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThanOrEqualTo(String propertyName, float literal) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThanOrEqualTo(String propertyName, int literal) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThanOrEqualTo(String propertyName, long literal) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThanOrEqualTo(String propertyName, short literal) org.apache.solr.client.solrj.SolrQuerypropertyIsLessThanOrEqualTo(String propertyName, Date endDate) org.apache.solr.client.solrj.SolrQuerypropertyIsLike(String propertyName, String pattern, boolean isCaseSensitive) org.apache.solr.client.solrj.SolrQuerypropertyIsNull(String propertyName) This builds an "is null" query based on the property name provided.org.apache.solr.client.solrj.SolrQuerystatic org.locationtech.jts.geom.GeometryremoveHoles(org.locationtech.jts.geom.Geometry geo) voidsetSortPolicy(org.geotools.api.filter.sort.SortBy[] sortBys) org.apache.solr.client.solrj.SolrQueryMethods inherited from class ddf.catalog.filter.FilterDelegate
begins, beyond, crosses, exclude, include, propertyIsBetween, propertyIsEqualTo, propertyIsEqualTo, propertyIsEqualTo, propertyIsGreaterThan, propertyIsGreaterThan, propertyIsGreaterThanOrEqualTo, propertyIsGreaterThanOrEqualTo, propertyIsLessThan, propertyIsLessThan, propertyIsLessThanOrEqualTo, propertyIsLessThanOrEqualTo, propertyIsNotEqualTo, propertyIsNotEqualTo, propertyIsNotEqualTo, propertyIsNotEqualTo, propertyIsNotEqualTo, propertyIsNotEqualTo, propertyIsNotEqualTo, propertyIsNotEqualTo, propertyIsNotEqualTo, propertyIsNotEqualTo, propertyIsNotEqualTo, touches, xpathExists, xpathIsFuzzy, xpathIsLike
-
Constructor Details
-
SolrFilterDelegate
-
-
Method Details
-
propertyIsEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String functionName, List<Object> arguments, Object literal) - Overrides:
propertyIsEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
and
public org.apache.solr.client.solrj.SolrQuery and(List<org.apache.solr.client.solrj.SolrQuery> operands) - Overrides:
andin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
or
public org.apache.solr.client.solrj.SolrQuery or(List<org.apache.solr.client.solrj.SolrQuery> operands) - Overrides:
orin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
not
public org.apache.solr.client.solrj.SolrQuery not(org.apache.solr.client.solrj.SolrQuery operand) - Overrides:
notin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsFuzzy
public org.apache.solr.client.solrj.SolrQuery propertyIsFuzzy(String propertyName, String searchPhrase) - Overrides:
propertyIsFuzzyin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLike
public org.apache.solr.client.solrj.SolrQuery propertyIsLike(String propertyName, String pattern, boolean isCaseSensitive) - Overrides:
propertyIsLikein classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String propertyName, String literal, boolean isCaseSensitive) - Overrides:
propertyIsEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String propertyName, Date exactDate) - Overrides:
propertyIsEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsEqualTo
- Overrides:
propertyIsEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsEqualTo
- Overrides:
propertyIsEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsEqualTo
- Overrides:
propertyIsEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsEqualTo
- Overrides:
propertyIsEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String propertyName, double literal) - Overrides:
propertyIsEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String propertyName, boolean literal) - Overrides:
propertyIsEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsGreaterThan
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, Date startDate) - Overrides:
propertyIsGreaterThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsGreaterThan
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, int literal) - Overrides:
propertyIsGreaterThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsGreaterThan
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, short literal) - Overrides:
propertyIsGreaterThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsGreaterThan
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, long literal) - Overrides:
propertyIsGreaterThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsGreaterThan
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, float literal) - Overrides:
propertyIsGreaterThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsGreaterThan
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, double literal) - Overrides:
propertyIsGreaterThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsGreaterThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThanOrEqualTo(String propertyName, Date startDate) - Overrides:
propertyIsGreaterThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsBetween
public org.apache.solr.client.solrj.SolrQuery propertyIsBetween(String propertyName, short lowerBoundary, short upperBoundary) - Overrides:
propertyIsBetweenin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsBetween
public org.apache.solr.client.solrj.SolrQuery propertyIsBetween(String propertyName, int lowerBoundary, int upperBoundary) - Overrides:
propertyIsBetweenin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsBetween
public org.apache.solr.client.solrj.SolrQuery propertyIsBetween(String propertyName, long lowerBoundary, long upperBoundary) - Overrides:
propertyIsBetweenin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsBetween
public org.apache.solr.client.solrj.SolrQuery propertyIsBetween(String propertyName, float lowerBoundary, float upperBoundary) - Overrides:
propertyIsBetweenin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsBetween
public org.apache.solr.client.solrj.SolrQuery propertyIsBetween(String propertyName, double lowerBoundary, double upperBoundary) - Overrides:
propertyIsBetweenin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsBetween
public org.apache.solr.client.solrj.SolrQuery propertyIsBetween(String propertyName, Object lowerBoundary, Object upperBoundary) throws IllegalArgumentException - Overrides:
propertyIsBetweenin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>- Throws:
IllegalArgumentException
-
propertyIsGreaterThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThanOrEqualTo(String propertyName, short literal) - Overrides:
propertyIsGreaterThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsGreaterThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThanOrEqualTo(String propertyName, int literal) - Overrides:
propertyIsGreaterThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsGreaterThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThanOrEqualTo(String propertyName, long literal) - Overrides:
propertyIsGreaterThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsGreaterThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThanOrEqualTo(String propertyName, float literal) - Overrides:
propertyIsGreaterThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsGreaterThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThanOrEqualTo(String propertyName, double literal) - Overrides:
propertyIsGreaterThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
during
public org.apache.solr.client.solrj.SolrQuery during(String propertyName, Date startDate, Date endDate) - Overrides:
duringin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
before
- Overrides:
beforein classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
after
- Overrides:
afterin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThan
- Overrides:
propertyIsLessThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThan
- Overrides:
propertyIsLessThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThan
public org.apache.solr.client.solrj.SolrQuery propertyIsLessThan(String propertyName, short literal) - Overrides:
propertyIsLessThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThan
- Overrides:
propertyIsLessThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThan
public org.apache.solr.client.solrj.SolrQuery propertyIsLessThan(String propertyName, float literal) - Overrides:
propertyIsLessThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThan
public org.apache.solr.client.solrj.SolrQuery propertyIsLessThan(String propertyName, double literal) - Overrides:
propertyIsLessThanin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, Date endDate) - Overrides:
propertyIsLessThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, short literal) - Overrides:
propertyIsLessThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, int literal) - Overrides:
propertyIsLessThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, long literal) - Overrides:
propertyIsLessThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, float literal) - Overrides:
propertyIsLessThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsLessThanOrEqualTo
public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, double literal) - Overrides:
propertyIsLessThanOrEqualToin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsDivisibleBy
public org.apache.solr.client.solrj.SolrQuery propertyIsDivisibleBy(String propertyName, long divisor) -
propertyIsBetween
public org.apache.solr.client.solrj.SolrQuery propertyIsBetween(String propertyName, Date lowerBoundary, Date upperBoundary) - Overrides:
propertyIsBetweenin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
relative
- Overrides:
relativein classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
nearestNeighbor
- Overrides:
nearestNeighborin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
contains
- Overrides:
containsin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
removeHoles
public static org.locationtech.jts.geom.Geometry removeHoles(org.locationtech.jts.geom.Geometry geo) -
dwithin
public org.apache.solr.client.solrj.SolrQuery dwithin(String propertyName, String wkt, double distance) - Overrides:
dwithinin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
intersects
- Overrides:
intersectsin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
within
- Overrides:
withinin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
disjoint
- Overrides:
disjointin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
overlaps
- Overrides:
overlapsin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
-
propertyIsInProximityTo
-
propertyIsNull
This builds an "is null" query based on the property name provided.Since no type is provided with this method, we build a OR chained expression with anonymous field names. The actual expression uses a negative ranged query expression. The null query needs to be used in order for this expression to play well with other nested expressions. The query used is outlined in: http://stackoverflow.com/questions/17044661/how-to-filter-search-by-values-that-are-not-available/17045097#17045097
- Overrides:
propertyIsNullin classddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>- Parameters:
propertyName- the property to null check against.- Returns:
- the solr query with the is null expression.
-
setSortPolicy
public void setSortPolicy(org.geotools.api.filter.sort.SortBy[] sortBys) -
isSortedByDistance
public boolean isSortedByDistance() -
getSortedDistancePoint
-
isIdQuery
public boolean isIdQuery() -
getIds
-