Class GeoDistanceSortBuilder

java.lang.Object
org.elasticsearch.search.sort.SortBuilder<GeoDistanceSortBuilder>
org.elasticsearch.search.sort.GeoDistanceSortBuilder
All Implemented Interfaces:
NamedWriteable, Writeable, org.elasticsearch.common.xcontent.ToXContent, org.elasticsearch.common.xcontent.ToXContentObject, Rewriteable<SortBuilder<?>>

public class GeoDistanceSortBuilder
extends SortBuilder<GeoDistanceSortBuilder>
A geo distance based sorting on a geo point like field.
  • Field Details

  • Constructor Details

    • GeoDistanceSortBuilder

      public GeoDistanceSortBuilder​(java.lang.String fieldName, GeoPoint... points)
      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

      public GeoDistanceSortBuilder​(StreamInput in) throws java.io.IOException
      Read from a stream.
      Throws:
      java.io.IOException
  • Method Details

    • writeTo

      public void writeTo​(StreamOutput out) throws java.io.IOException
      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

      public GeoDistanceSortBuilder point​(double lat, double lon)
      The point to create the range distance facets from.
      Parameters:
      lat - latitude.
      lon - longitude.
    • points

      public GeoDistanceSortBuilder points​(GeoPoint... points)
      The point to create the range distance facets from.
      Parameters:
      points - reference points.
    • points

      public GeoPoint[] points()
      Returns the points to create the range distance facets from.
    • geoDistance

      public GeoDistanceSortBuilder geoDistance​(GeoDistance geoDistance)
      The geo distance type used to compute the distance.
    • geoDistance

      public GeoDistance geoDistance()
      Returns the geo distance type used to compute the distance.
    • unit

      public GeoDistanceSortBuilder unit​(DistanceUnit unit)
      The distance unit to use. Defaults to DistanceUnit.METERS
    • unit

      public DistanceUnit unit()
      Returns the distance unit to use. Defaults to DistanceUnit.METERS
    • validation

      public GeoDistanceSortBuilder validation​(GeoValidationMethod method)
      Sets validation method for this sort builder.
    • validation

      public GeoValidationMethod validation()
      Returns the validation method to use for this sort builder.
    • sortMode

      public GeoDistanceSortBuilder sortMode​(SortMode sortMode)
      Defines which distance to use for sorting in the case a document contains multiple geo points. Possible values: min and max
    • sortMode

      public SortMode sortMode()
      Returns which distance to use for sorting in the case a document contains multiple geo points.
    • setNestedFilter

      @Deprecated public GeoDistanceSortBuilder setNestedFilter​(QueryBuilder nestedFilter)
      Deprecated.
      set nested sort with setNestedSort(NestedSortBuilder) and retrieve with getNestedSort()
      Sets the nested filter that the nested objects should match with in order to be taken into account for sorting.
    • getNestedFilter

      @Deprecated public QueryBuilder getNestedFilter()
      Deprecated.
      set nested sort with setNestedSort(NestedSortBuilder) and retrieve with getNestedSort()
      Returns the nested filter that the nested objects should match with in order to be taken into account for sorting.
    • setNestedPath

      @Deprecated public GeoDistanceSortBuilder setNestedPath​(java.lang.String nestedPath)
      Deprecated.
      set nested sort with setNestedSort(NestedSortBuilder) and retrieve with getNestedSort()
      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 with setNestedSort(NestedSortBuilder) and retrieve with getNestedSort()
      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

      public NestedSortBuilder getNestedSort()
      Returns the NestedSortBuilder
    • setNestedSort

      public GeoDistanceSortBuilder setNestedSort​(NestedSortBuilder nestedSort)
      Sets the NestedSortBuilder to be used for fields that are inside a nested object. The NestedSortBuilder 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

      public GeoDistanceSortBuilder ignoreUnmapped​(boolean ignoreUnmapped)
    • toXContent

      public org.elasticsearch.common.xcontent.XContentBuilder toXContent​(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.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 class java.lang.Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • fromXContent

      public static GeoDistanceSortBuilder fromXContent​(org.elasticsearch.common.xcontent.XContentParser parser, java.lang.String elementName) throws java.io.IOException
      Creates a new GeoDistanceSortBuilder from the query held by the XContentParser in XContent format.
      Parameters:
      parser - the input parser. The state on the parser contained in this context will be changed as a side effect of this method call
      elementName - 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

      public SortFieldAndFormat build​(SearchExecutionContext context) throws java.io.IOException
      Description copied from class: SortBuilder
      Create a SortFieldAndFormat from this builder.
      Specified by:
      build in class SortBuilder<GeoDistanceSortBuilder>
      Throws:
      java.io.IOException
    • buildBucketedSort

      public BucketedSort buildBucketedSort​(SearchExecutionContext context, BigArrays bigArrays, int bucketSize, BucketedSort.ExtraData extra) throws java.io.IOException
      Description copied from class: SortBuilder
      Create a BucketedSort which is useful for sorting inside of aggregations.
      Specified by:
      buildBucketedSort in class SortBuilder<GeoDistanceSortBuilder>
      Throws:
      java.io.IOException
    • rewrite

      public GeoDistanceSortBuilder rewrite​(QueryRewriteContext ctx) throws java.io.IOException
      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