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.ParamsNested 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.StringALTERNATIVE_NAMEstatic GeoValidationMethodDEFAULT_VALIDATIONstatic java.lang.StringNAMEFields 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 SortFieldAndFormatbuild(QueryShardContext context)Create a @linkSortFieldAndFormatfrom this builder.booleanequals(java.lang.Object object)java.lang.StringfieldName()Returns the geo point like field the distance based sort operates on.static GeoDistanceSortBuilderfromXContent(XContentParser parser, java.lang.String elementName)GeoDistancegeoDistance()Returns the geo distance type used to compute the distance.GeoDistanceSortBuildergeoDistance(GeoDistance geoDistance)The geo distance type used to compute the distance.QueryBuildergetNestedFilter()Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()java.lang.StringgetNestedPath()Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()NestedSortBuildergetNestedSort()Returns theNestedSortBuilderjava.lang.StringgetWriteableName()Returns the name of the writeable objectinthashCode()booleanignoreUnmapped()Returns true if unmapped geo fields should be treated as located at an infinite distanceGeoDistanceSortBuilderignoreUnmapped(boolean ignoreUnmapped)GeoDistanceSortBuilderpoint(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.GeoDistanceSortBuilderpoints(GeoPoint... points)The point to create the range distance facets from.GeoDistanceSortBuilderrewrite(QueryRewriteContext ctx)Rewrites this instance based on the provided context.GeoDistanceSortBuildersetNestedFilter(QueryBuilder nestedFilter)Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()GeoDistanceSortBuildersetNestedPath(java.lang.String nestedPath)Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()GeoDistanceSortBuildersetNestedSort(NestedSortBuilder nestedSort)Sets theNestedSortBuilderto be used for fields that are inside a nested object.SortModesortMode()Returns which distance to use for sorting in the case a document contains multiple geo points.GeoDistanceSortBuildersortMode(SortMode sortMode)Defines which distance to use for sorting in the case a document contains multiple geo points.XContentBuildertoXContent(XContentBuilder builder, ToXContent.Params params)DistanceUnitunit()Returns the distance unit to use.GeoDistanceSortBuilderunit(DistanceUnit unit)The distance unit to use.GeoValidationMethodvalidation()Returns the validation method to use for this sort builder.GeoDistanceSortBuildervalidation(GeoValidationMethod method)Sets validation method for this sort builder.voidwriteTo(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:WriteableWrite 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 theNestedSortBuilderto be used for fields that are inside a nested object. TheNestedSortBuildertakes 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:NamedWriteableReturns the name of the writeable object -
equals
public boolean equals(java.lang.Object object)- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCodein 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:SortBuilderCreate a @linkSortFieldAndFormatfrom this builder.- Specified by:
buildin classSortBuilder<GeoDistanceSortBuilder>- Throws:
java.io.IOException
-
rewrite
Description copied from interface:RewriteableRewrites 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
-