org.hibernate.search.spatial.impl
Class SpatialQueryBuilderFromCoordinates

java.lang.Object
  extended by org.hibernate.search.spatial.impl.SpatialQueryBuilderFromCoordinates

public abstract class SpatialQueryBuilderFromCoordinates
extends Object

The SpatialQueryBuilder holds builder methods for Quad Tree, Distance and Spatial (Quad Tree+Distance) filters and queries

Author:
Nicolas Helleringer

Constructor Summary
SpatialQueryBuilderFromCoordinates()
           
 
Method Summary
static Filter buildDistanceFilter(Filter previousFilter, Coordinates center, double radius, String coordinatesField)
          Returns a Lucene filter to fine filter document by distance
static Filter buildDistanceFilter(Filter previousFilter, Coordinates center, double radius, String latitudeField, String longitudeField)
          Returns a Lucene filter to fine filter document by distance
static Query buildDistanceQuery(Coordinates center, double radius, String fieldName)
          Returns a Lucene Query searching directly by computing distance against all docs in the index (costly !)
static Filter buildQuadTreeFilter(Coordinates center, double radius, String fieldName)
          Returns a Lucene filter which rely on Hibernate Search Spatial quad tree indexation to filter document at radius
static Query buildQuadTreeQuery(Coordinates center, double radius, String fieldName)
          Returns a Lucene Query which rely on Hibernate Search Spatial quad tree indexation to filter document at radius by wrapping a QuadTreeFilter
static Query buildSpatialQueryByQuadTree(Coordinates center, double radius, String fieldName)
          Returns a Lucene Query which relies on Hibernate Search Spatial quad tree indexation to filter documents at radius and filter its results by a fine DistanceFilter
static Query buildSpatialQueryByRange(Coordinates centerCoordinates, double radius, String fieldName)
          Returns a Lucene Query which rely on double numeric range query on Latitude / Longitude
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpatialQueryBuilderFromCoordinates

public SpatialQueryBuilderFromCoordinates()
Method Detail

buildQuadTreeFilter

public static Filter buildQuadTreeFilter(Coordinates center,
                                         double radius,
                                         String fieldName)
Returns a Lucene filter which rely on Hibernate Search Spatial quad tree indexation to filter document at radius

Parameters:
center - center of the search discus
radius - distance max to center in km
fieldName - name of the Lucene Field implementing Coordinates
Returns:
Lucene filter to be used in a Query
See Also:
Query, Coordinates, Filter

buildDistanceFilter

public static Filter buildDistanceFilter(Filter previousFilter,
                                         Coordinates center,
                                         double radius,
                                         String coordinatesField)
Returns a Lucene filter to fine filter document by distance

Parameters:
center - center of the search discus
radius - distance max to center in km
coordinatesField - name of the Lucene Field implementing Coordinates
previousFilter - preceding filter in filter chain Warning if passed null DistanceFilter constructor use a filter wrapped match all query (time/resource consuming !)
Returns:
Lucene filter to be used in a Query
See Also:
Query, Coordinates, DistanceFilter, Filter

buildDistanceFilter

public static Filter buildDistanceFilter(Filter previousFilter,
                                         Coordinates center,
                                         double radius,
                                         String latitudeField,
                                         String longitudeField)
Returns a Lucene filter to fine filter document by distance

Parameters:
center - center of the search discus
radius - distance max to center in km
latitudeField - name of the Lucene Field hosting latitude
longitudeField - name of the Lucene Field hosting longitude
previousFilter - preceding filter in filter chain Warning if passed null DistanceFilter constructor use a filter wrapped match all query (time/ressource consuming !)
Returns:
Lucene filter to be used in a Query
See Also:
Query, Coordinates, DistanceFilter, Filter

buildQuadTreeQuery

public static Query buildQuadTreeQuery(Coordinates center,
                                       double radius,
                                       String fieldName)
Returns a Lucene Query which rely on Hibernate Search Spatial quad tree indexation to filter document at radius by wrapping a QuadTreeFilter

Parameters:
center - center of the search discus
radius - distance max to center in km
fieldName - name of the Lucene Field implementing Coordinates
Returns:
Lucene Query to be used in a search
See Also:
Query, Coordinates

buildDistanceQuery

public static Query buildDistanceQuery(Coordinates center,
                                       double radius,
                                       String fieldName)
Returns a Lucene Query searching directly by computing distance against all docs in the index (costly !)

Parameters:
center - center of the search discus
radius - distance max to center in km
fieldName - name of the Lucene Field implementing Coordinates
Returns:
Lucene Query to be used in a search
See Also:
Query, Coordinates

buildSpatialQueryByQuadTree

public static Query buildSpatialQueryByQuadTree(Coordinates center,
                                                double radius,
                                                String fieldName)
Returns a Lucene Query which relies on Hibernate Search Spatial quad tree indexation to filter documents at radius and filter its results by a fine DistanceFilter

Parameters:
center - center of the search discus
radius - distance max to center in km
fieldName - name of the Lucene Field implementing Coordinates
Returns:
Lucene Query to be used in a search
See Also:
Query, Coordinates

buildSpatialQueryByRange

public static Query buildSpatialQueryByRange(Coordinates centerCoordinates,
                                             double radius,
                                             String fieldName)
Returns a Lucene Query which rely on double numeric range query on Latitude / Longitude

Parameters:
centerCoordinates - center of the search discus
radius - distance max to center in km
fieldName - name of the Lucene Field implementing Coordinates
Returns:
Lucene Query to be used in a search
See Also:
Query, Coordinates


Copyright © 2006-2013 Red Hat Middleware, LLC. All Rights Reserved