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
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/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 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 TypeMethodDescriptionboolean
protected GeoQueryContext
fromXContent(org.elasticsearch.common.xcontent.XContentParser parser)
Prototype for the query contextint
int
hashCode()
protected static GeoContextMapping
parseContext(LuceneDocument document)
Retrieves a set of context from adocument
at index-time.parseContext(ParseContext parseContext, org.elasticsearch.common.xcontent.XContentParser parser)
Parse a set ofCharSequence
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 persistedtoInternalQueryContexts(List<GeoQueryContext> queryContexts)
Parse a list ofGeoQueryContext
usingparser
.void
validateReferences(Version indexVersionCreated, Function<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
-
FIELD_PRECISION
- See Also:
- Constant Field Values
-
FIELD_FIELDNAME
- See Also:
- Constant Field Values
-
DEFAULT_PRECISION
public static final int DEFAULT_PRECISION- See Also:
- Constant Field Values
-
-
Method Details
-
getFieldName
-
getPrecision
public int getPrecision() -
load
-
toInnerXContent
protected org.elasticsearch.common.xcontent.XContentBuilder toInnerXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws IOExceptionDescription copied from class:ContextMapping
Implementations should add specific configurations that need to be persisted- Specified by:
toInnerXContent
in classContextMapping<GeoQueryContext>
- Throws:
IOException
-
parseContext
public Set<String> parseContext(ParseContext parseContext, org.elasticsearch.common.xcontent.XContentParser parser) throws IOException, ElasticsearchParseExceptionParse a set ofCharSequence
contexts at index-time. Acceptable formats:- Array:
[<GEO POINT>, ..]
- String/Object/Array:
"GEO POINT"
GeoPoint(String)
for GEO POINT- Specified by:
parseContext
in classContextMapping<GeoQueryContext>
- Throws:
IOException
ElasticsearchParseException
- Array:
-
parseContext
Description copied from class:ContextMapping
Retrieves a set of context from adocument
at index-time.- Specified by:
parseContext
in classContextMapping<GeoQueryContext>
-
fromXContent
protected GeoQueryContext fromXContent(org.elasticsearch.common.xcontent.XContentParser parser) throws IOExceptionDescription copied from class:ContextMapping
Prototype for the query context- Specified by:
fromXContent
in classContextMapping<GeoQueryContext>
- Throws:
IOException
-
toInternalQueryContexts
public List<ContextMapping.InternalQueryContext> toInternalQueryContexts(List<GeoQueryContext> queryContexts)Parse a list ofGeoQueryContext
usingparser
. A QueryContexts accepts one of the following forms:- Object: GeoQueryContext
- String: GeoQueryContext value with boost=1 precision=PRECISION neighbours=[PRECISION]
- Array:
[GeoQueryContext, ..]
- 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
GeoPoint(String)
for GEO POINT- Specified by:
toInternalQueryContexts
in classContextMapping<GeoQueryContext>
-
validateReferences
public void validateReferences(Version indexVersionCreated, Function<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 classContextMapping<GeoQueryContext>
-
equals
- Overrides:
equals
in classContextMapping<GeoQueryContext>
-
hashCode
public int hashCode()- Overrides:
hashCode
in classContextMapping<GeoQueryContext>
-