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.
  • Constructor Details

  • Method Details

    • propertyIsEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String functionName, List<Object> arguments, Object literal)
      Overrides:
      propertyIsEqualTo in class ddf.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:
      and in class ddf.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:
      or in class ddf.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:
      not in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsFuzzy

      public org.apache.solr.client.solrj.SolrQuery propertyIsFuzzy(String propertyName, String searchPhrase)
      Overrides:
      propertyIsFuzzy in class ddf.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:
      propertyIsLike in class ddf.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:
      propertyIsEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String propertyName, Date exactDate)
      Overrides:
      propertyIsEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String propertyName, int literal)
      Overrides:
      propertyIsEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String propertyName, short literal)
      Overrides:
      propertyIsEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String propertyName, long literal)
      Overrides:
      propertyIsEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String propertyName, float literal)
      Overrides:
      propertyIsEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String propertyName, double literal)
      Overrides:
      propertyIsEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsEqualTo(String propertyName, boolean literal)
      Overrides:
      propertyIsEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsGreaterThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, Date startDate)
      Overrides:
      propertyIsGreaterThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsGreaterThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, int literal)
      Overrides:
      propertyIsGreaterThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsGreaterThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, short literal)
      Overrides:
      propertyIsGreaterThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsGreaterThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, long literal)
      Overrides:
      propertyIsGreaterThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsGreaterThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, float literal)
      Overrides:
      propertyIsGreaterThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsGreaterThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThan(String propertyName, double literal)
      Overrides:
      propertyIsGreaterThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsGreaterThanOrEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThanOrEqualTo(String propertyName, Date startDate)
      Overrides:
      propertyIsGreaterThanOrEqualTo in class ddf.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:
      propertyIsBetween in class ddf.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:
      propertyIsBetween in class ddf.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:
      propertyIsBetween in class ddf.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:
      propertyIsBetween in class ddf.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:
      propertyIsBetween in class ddf.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:
      propertyIsBetween in class ddf.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:
      propertyIsGreaterThanOrEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsGreaterThanOrEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThanOrEqualTo(String propertyName, int literal)
      Overrides:
      propertyIsGreaterThanOrEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsGreaterThanOrEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThanOrEqualTo(String propertyName, long literal)
      Overrides:
      propertyIsGreaterThanOrEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsGreaterThanOrEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThanOrEqualTo(String propertyName, float literal)
      Overrides:
      propertyIsGreaterThanOrEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsGreaterThanOrEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsGreaterThanOrEqualTo(String propertyName, double literal)
      Overrides:
      propertyIsGreaterThanOrEqualTo in class ddf.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:
      during in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • before

      public org.apache.solr.client.solrj.SolrQuery before(String propertyName, Date date)
      Overrides:
      before in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • after

      public org.apache.solr.client.solrj.SolrQuery after(String propertyName, Date startDate)
      Overrides:
      after in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThan(String propertyName, Date endDate)
      Overrides:
      propertyIsLessThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThan(String propertyName, int literal)
      Overrides:
      propertyIsLessThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThan(String propertyName, short literal)
      Overrides:
      propertyIsLessThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThan(String propertyName, long literal)
      Overrides:
      propertyIsLessThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThan(String propertyName, float literal)
      Overrides:
      propertyIsLessThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThan

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThan(String propertyName, double literal)
      Overrides:
      propertyIsLessThan in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThanOrEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, Date endDate)
      Overrides:
      propertyIsLessThanOrEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThanOrEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, short literal)
      Overrides:
      propertyIsLessThanOrEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThanOrEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, int literal)
      Overrides:
      propertyIsLessThanOrEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThanOrEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, long literal)
      Overrides:
      propertyIsLessThanOrEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThanOrEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, float literal)
      Overrides:
      propertyIsLessThanOrEqualTo in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsLessThanOrEqualTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsLessThanOrEqualTo(String propertyName, double literal)
      Overrides:
      propertyIsLessThanOrEqualTo in class ddf.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:
      propertyIsBetween in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • relative

      public org.apache.solr.client.solrj.SolrQuery relative(String propertyName, long duration)
      Overrides:
      relative in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • nearestNeighbor

      public org.apache.solr.client.solrj.SolrQuery nearestNeighbor(String propertyName, String wkt)
      Overrides:
      nearestNeighbor in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • contains

      public org.apache.solr.client.solrj.SolrQuery contains(String propertyName, String wkt)
      Overrides:
      contains in class ddf.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:
      dwithin in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • intersects

      public org.apache.solr.client.solrj.SolrQuery intersects(String propertyName, String wkt)
      Overrides:
      intersects in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • within

      public org.apache.solr.client.solrj.SolrQuery within(String propertyName, String wkt)
      Overrides:
      within in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • disjoint

      public org.apache.solr.client.solrj.SolrQuery disjoint(String propertyName, String wkt)
      Overrides:
      disjoint in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • overlaps

      public org.apache.solr.client.solrj.SolrQuery overlaps(String propertyName, String wkt)
      Overrides:
      overlaps in class ddf.catalog.filter.FilterDelegate<org.apache.solr.client.solrj.SolrQuery>
    • propertyIsInProximityTo

      public org.apache.solr.client.solrj.SolrQuery propertyIsInProximityTo(String propertyName, Integer distance, String searchTerms)
    • propertyIsNull

      public org.apache.solr.client.solrj.SolrQuery propertyIsNull(String propertyName)
      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:
      propertyIsNull in class ddf.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

      public String getSortedDistancePoint()
    • isIdQuery

      public boolean isIdQuery()
    • getIds

      public Set<String> getIds()