Package org.elasticsearch.search.sort
Class GeoDistanceSortBuilder
java.lang.Object
org.elasticsearch.search.sort.SortBuilder<GeoDistanceSortBuilder>
org.elasticsearch.search.sort.GeoDistanceSortBuilder
- All Implemented Interfaces:
NamedWriteable
,Writeable
,ToXContent
,ToXContentObject
,Rewriteable<SortBuilder<?>>
public class GeoDistanceSortBuilder extends SortBuilder<GeoDistanceSortBuilder>
A geo distance based sorting on a geo point like field.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params
Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ALTERNATIVE_NAME
static GeoValidationMethod
DEFAULT_VALIDATION
static java.lang.String
NAME
Fields inherited from class org.elasticsearch.search.sort.SortBuilder
NESTED_FILTER_FIELD, NESTED_PATH_FIELD, order, ORDER_FIELD
-
Constructor Summary
Constructors Constructor Description GeoDistanceSortBuilder(java.lang.String fieldName, double lat, double lon)
Constructs a new distance based sort on a geo point like field.GeoDistanceSortBuilder(java.lang.String fieldName, java.lang.String... geohashes)
Constructs a new distance based sort on a geo point like field.GeoDistanceSortBuilder(java.lang.String fieldName, GeoPoint... points)
Constructs a new distance based sort on a geo point like field.GeoDistanceSortBuilder(StreamInput in)
Read from a stream. -
Method Summary
Modifier and Type Method Description SortFieldAndFormat
build(QueryShardContext context)
Create a @linkSortFieldAndFormat
from this builder.boolean
equals(java.lang.Object object)
java.lang.String
fieldName()
Returns the geo point like field the distance based sort operates on.static GeoDistanceSortBuilder
fromXContent(XContentParser parser, java.lang.String elementName)
GeoDistance
geoDistance()
Returns the geo distance type used to compute the distance.GeoDistanceSortBuilder
geoDistance(GeoDistance geoDistance)
The geo distance type used to compute the distance.QueryBuilder
getNestedFilter()
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
java.lang.String
getNestedPath()
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
NestedSortBuilder
getNestedSort()
Returns theNestedSortBuilder
java.lang.String
getWriteableName()
Returns the name of the writeable objectint
hashCode()
boolean
ignoreUnmapped()
Returns true if unmapped geo fields should be treated as located at an infinite distanceGeoDistanceSortBuilder
ignoreUnmapped(boolean ignoreUnmapped)
GeoDistanceSortBuilder
point(double lat, double lon)
The point to create the range distance facets from.GeoPoint[]
points()
Returns the points to create the range distance facets from.GeoDistanceSortBuilder
points(GeoPoint... points)
The point to create the range distance facets from.GeoDistanceSortBuilder
rewrite(QueryRewriteContext ctx)
Rewrites this instance based on the provided context.GeoDistanceSortBuilder
setNestedFilter(QueryBuilder nestedFilter)
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
GeoDistanceSortBuilder
setNestedPath(java.lang.String nestedPath)
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
GeoDistanceSortBuilder
setNestedSort(NestedSortBuilder nestedSort)
Sets theNestedSortBuilder
to be used for fields that are inside a nested object.SortMode
sortMode()
Returns which distance to use for sorting in the case a document contains multiple geo points.GeoDistanceSortBuilder
sortMode(SortMode sortMode)
Defines which distance to use for sorting in the case a document contains multiple geo points.XContentBuilder
toXContent(XContentBuilder builder, ToXContent.Params params)
DistanceUnit
unit()
Returns the distance unit to use.GeoDistanceSortBuilder
unit(DistanceUnit unit)
The distance unit to use.GeoValidationMethod
validation()
Returns the validation method to use for this sort builder.GeoDistanceSortBuilder
validation(GeoValidationMethod method)
Sets validation method for this sort builder.void
writeTo(StreamOutput out)
Write this into the StreamOutput.Methods inherited from class org.elasticsearch.search.sort.SortBuilder
buildSort, fromXContent, order, order, parseNestedFilter, resolveNested, resolveNested, toString
-
Field Details
-
NAME
public static final java.lang.String NAME- See Also:
- Constant Field Values
-
ALTERNATIVE_NAME
public static final java.lang.String ALTERNATIVE_NAME- See Also:
- Constant Field Values
-
DEFAULT_VALIDATION
-
-
Constructor Details
-
GeoDistanceSortBuilder
Constructs a new distance based sort on a geo point like field.- Parameters:
fieldName
- The geo point like field name.points
- The points to create the range distance facets from.
-
GeoDistanceSortBuilder
public GeoDistanceSortBuilder(java.lang.String fieldName, double lat, double lon)Constructs a new distance based sort on a geo point like field.- Parameters:
fieldName
- The geo point like field name.lat
- Latitude of the point to create the range distance facets from.lon
- Longitude of the point to create the range distance facets from.
-
GeoDistanceSortBuilder
public GeoDistanceSortBuilder(java.lang.String fieldName, java.lang.String... geohashes)Constructs a new distance based sort on a geo point like field.- Parameters:
fieldName
- The geo point like field name.geohashes
- The points to create the range distance facets from.
-
GeoDistanceSortBuilder
Read from a stream.- Throws:
java.io.IOException
-
-
Method Details
-
writeTo
Description copied from interface:Writeable
Write this into the StreamOutput.- Throws:
java.io.IOException
-
fieldName
public java.lang.String fieldName()Returns the geo point like field the distance based sort operates on. -
point
The point to create the range distance facets from.- Parameters:
lat
- latitude.lon
- longitude.
-
points
The point to create the range distance facets from.- Parameters:
points
- reference points.
-
points
Returns the points to create the range distance facets from. -
geoDistance
The geo distance type used to compute the distance. -
geoDistance
Returns the geo distance type used to compute the distance. -
unit
The distance unit to use. Defaults toDistanceUnit.METERS
-
unit
Returns the distance unit to use. Defaults toDistanceUnit.METERS
-
validation
Sets validation method for this sort builder. -
validation
Returns the validation method to use for this sort builder. -
sortMode
Defines which distance to use for sorting in the case a document contains multiple geo points. Possible values: min and max -
sortMode
Returns which distance to use for sorting in the case a document contains multiple geo points. -
setNestedFilter
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
Sets the nested filter that the nested objects should match with in order to be taken into account for sorting. -
getNestedFilter
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
Returns the nested filter that the nested objects should match with in order to be taken into account for sorting. -
setNestedPath
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
Sets the nested path if sorting occurs on a field that is inside a nested object. By default when sorting on a field inside a nested object, the nearest upper nested object is selected as nested path. -
getNestedPath
@Deprecated public java.lang.String getNestedPath()Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
Returns the nested path if sorting occurs on a field that is inside a nested object. By default when sorting on a field inside a nested object, the nearest upper nested object is selected as nested path. -
getNestedSort
Returns theNestedSortBuilder
-
setNestedSort
Sets theNestedSortBuilder
to be used for fields that are inside a nested object. TheNestedSortBuilder
takes a `path` argument and an optional nested filter that the nested objects should match with in order to be taken into account for sorting. -
ignoreUnmapped
public boolean ignoreUnmapped()Returns true if unmapped geo fields should be treated as located at an infinite distance -
ignoreUnmapped
-
toXContent
public XContentBuilder toXContent(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException- Throws:
java.io.IOException
-
getWriteableName
public java.lang.String getWriteableName()Description copied from interface:NamedWriteable
Returns the name of the writeable object -
equals
public boolean equals(java.lang.Object object)- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCode
in classjava.lang.Object
-
fromXContent
public static GeoDistanceSortBuilder fromXContent(XContentParser parser, java.lang.String elementName) throws java.io.IOException- Parameters:
parser
- the input parser. The state on the parser contained in this context will be changed as a side effect of this method callelementName
- in some sort syntax variations the field name precedes the xContent object that specifies further parameters, e.g. in '{ "foo": { "order" : "asc"} }'. When parsing the inner object, the field name can be passed in via this argument- Throws:
java.io.IOException
-
build
Description copied from class:SortBuilder
Create a @linkSortFieldAndFormat
from this builder.- Specified by:
build
in classSortBuilder<GeoDistanceSortBuilder>
- Throws:
java.io.IOException
-
rewrite
Description copied from interface:Rewriteable
Rewrites this instance based on the provided context. The returned objects will be the same instance as this if no changes during the rewrite were applied.- Throws:
java.io.IOException
-