Class GeoContextMapping

java.lang.Object
org.elasticsearch.search.suggest.completion.context.ContextMapping<GeoQueryContext>
org.elasticsearch.search.suggest.completion.context.GeoContextMapping
All Implemented Interfaces:
org.elasticsearch.common.xcontent.ToXContent, org.elasticsearch.common.xcontent.ToXContentFragment

public class GeoContextMapping
extends ContextMapping<GeoQueryContext>
A ContextMapping that uses a geo location/area as a criteria. The suggestions can be boosted and/or filtered depending on whether it falls within an area, represented by a query geo hash with a specified precision GeoQueryContext defines the options for constructing a unit of query context for this context type
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  GeoContextMapping.Builder  

    Nested classes/interfaces inherited from class org.elasticsearch.search.suggest.completion.context.ContextMapping

    ContextMapping.InternalQueryContext, ContextMapping.Type

    Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent

    org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.ToXContent.Params
  • Field Summary

    Fields
    Modifier and Type Field Description
    static int DEFAULT_PRECISION  
    static java.lang.String FIELD_FIELDNAME  
    static java.lang.String FIELD_PRECISION  

    Fields inherited from class org.elasticsearch.search.suggest.completion.context.ContextMapping

    FIELD_NAME, FIELD_TYPE, name, type

    Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent

    EMPTY_PARAMS
  • Method Summary

    Modifier and Type Method Description
    boolean equals​(java.lang.Object o)  
    protected GeoQueryContext fromXContent​(org.elasticsearch.common.xcontent.XContentParser parser)
    Prototype for the query context
    java.lang.String getFieldName()  
    int getPrecision()  
    int hashCode()  
    protected static GeoContextMapping load​(java.lang.String name, java.util.Map<java.lang.String,​java.lang.Object> config)  
    java.util.Set<java.lang.String> parseContext​(ParseContext.Document document)
    Retrieves a set of context from a document at index-time.
    java.util.Set<java.lang.String> parseContext​(ParseContext parseContext, org.elasticsearch.common.xcontent.XContentParser parser)
    Parse a set of CharSequence contexts at index-time.
    protected org.elasticsearch.common.xcontent.XContentBuilder toInnerXContent​(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)
    Implementations should add specific configurations that need to be persisted
    java.util.List<ContextMapping.InternalQueryContext> toInternalQueryContexts​(java.util.List<GeoQueryContext> queryContexts)
    Parse a list of GeoQueryContext using parser.
    void validateReferences​(Version indexVersionCreated, java.util.function.Function<java.lang.String,​MappedFieldType> fieldResolver)
    Checks if the current context is consistent with the rest of the fields.

    Methods inherited from class org.elasticsearch.search.suggest.completion.context.ContextMapping

    name, parseQueryContext, toString, toXContent, type

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment

    isFragment
  • Field Details

  • Method Details

    • getFieldName

      public java.lang.String getFieldName()
    • getPrecision

      public int getPrecision()
    • load

      protected static GeoContextMapping load​(java.lang.String name, java.util.Map<java.lang.String,​java.lang.Object> config)
    • toInnerXContent

      protected org.elasticsearch.common.xcontent.XContentBuilder toInnerXContent​(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws java.io.IOException
      Description copied from class: ContextMapping
      Implementations should add specific configurations that need to be persisted
      Specified by:
      toInnerXContent in class ContextMapping<GeoQueryContext>
      Throws:
      java.io.IOException
    • parseContext

      public java.util.Set<java.lang.String> parseContext​(ParseContext parseContext, org.elasticsearch.common.xcontent.XContentParser parser) throws java.io.IOException, ElasticsearchParseException
      Parse a set of CharSequence contexts at index-time. Acceptable formats:
      • Array:
        [<GEO POINT>, ..]
      • String/Object/Array:
        "GEO POINT"
      see GeoPoint(String) for GEO POINT
      Specified by:
      parseContext in class ContextMapping<GeoQueryContext>
      Throws:
      java.io.IOException
      ElasticsearchParseException
    • parseContext

      public java.util.Set<java.lang.String> parseContext​(ParseContext.Document document)
      Description copied from class: ContextMapping
      Retrieves a set of context from a document at index-time.
      Specified by:
      parseContext in class ContextMapping<GeoQueryContext>
    • fromXContent

      protected GeoQueryContext fromXContent​(org.elasticsearch.common.xcontent.XContentParser parser) throws java.io.IOException
      Description copied from class: ContextMapping
      Prototype for the query context
      Specified by:
      fromXContent in class ContextMapping<GeoQueryContext>
      Throws:
      java.io.IOException
    • toInternalQueryContexts

      public java.util.List<ContextMapping.InternalQueryContext> toInternalQueryContexts​(java.util.List<GeoQueryContext> queryContexts)
      Parse a list of GeoQueryContext using parser. A QueryContexts accepts one of the following forms:
      • Object: GeoQueryContext
      • String: GeoQueryContext value with boost=1 precision=PRECISION neighbours=[PRECISION]
      • Array:
        [GeoQueryContext, ..]
      A GeoQueryContext has one of the following forms:
      • Object:
        • GEO POINT
        • {"lat": <double>, "lon": <double>, "precision":
                   <int>, "neighbours": <[int, ..]>}
        • {"context": <string>, "boost": <int>, "precision":
                   <int>, "neighbours": <[int, ..]>}
        • {"context": <GEO POINT>, "boost": <int>, "precision":
                   <int>, "neighbours": <[int, ..]>}
      • String:
        GEO POINT
      see GeoPoint(String) for GEO POINT
      Specified by:
      toInternalQueryContexts in class ContextMapping<GeoQueryContext>
    • validateReferences

      public void validateReferences​(Version indexVersionCreated, java.util.function.Function<java.lang.String,​MappedFieldType> fieldResolver)
      Description copied from class: ContextMapping
      Checks if the current context is consistent with the rest of the fields. For example, the GeoContext should check that the field that it points to has the correct type.
      Overrides:
      validateReferences in class ContextMapping<GeoQueryContext>
    • equals

      public boolean equals​(java.lang.Object o)
      Overrides:
      equals in class ContextMapping<GeoQueryContext>
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class ContextMapping<GeoQueryContext>