java.lang.Object
org.elasticsearch.index.query.AbstractQueryBuilder<QB>
org.elasticsearch.index.query.AbstractGeometryQueryBuilder<GeoShapeQueryBuilder>
org.elasticsearch.index.query.GeoShapeQueryBuilder
- All Implemented Interfaces:
NamedWriteable
,VersionedNamedWriteable
,Writeable
,QueryBuilder
,Rewriteable<QueryBuilder>
,ToXContent
,ToXContentObject
Derived
AbstractGeometryQueryBuilder
that builds a lat, lon GeoShape Query. It
can be applied to any MappedFieldType
that implements GeoShapeQueryable
.
GeoJson and WKT shape definitions are supported-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.index.query.AbstractGeometryQueryBuilder
AbstractGeometryQueryBuilder.ParsedGeometryQueryParams
Nested classes/interfaces inherited from interface org.elasticsearch.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
FieldsFields inherited from class org.elasticsearch.index.query.AbstractGeometryQueryBuilder
DEFAULT_IGNORE_UNMAPPED, DEFAULT_SHAPE_FIELD_NAME, DEFAULT_SHAPE_INDEX_NAME, DEFAULT_SHAPE_RELATION, fieldName, IGNORE_UNMAPPED_FIELD, ignoreUnmapped, INDEXED_SHAPE_FIELD, indexedShapeId, indexedShapeIndex, indexedShapePath, indexedShapeRouting, relation, RELATION_FIELD, shape, SHAPE_FIELD, SHAPE_ID_FIELD, SHAPE_INDEX_FIELD, SHAPE_PATH_FIELD, SHAPE_ROUTING_FIELD, SHAPE_TYPE_FIELD, supplier
Fields inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
boost, BOOST_FIELD, DEFAULT_BOOST, NAME_FIELD, queryName
Fields inherited from interface org.elasticsearch.index.query.Rewriteable
MAX_REWRITE_ROUNDS
Fields inherited from interface org.elasticsearch.xcontent.ToXContent
EMPTY, EMPTY_PARAMS
-
Constructor Summary
ConstructorsConstructorDescriptionGeoShapeQueryBuilder
(String fieldName, String indexedShapeId) Creates a new GeoShapeQueryBuilder whose Query will be against the given field name and will use the Shape found with the given IDGeoShapeQueryBuilder
(String fieldName, Supplier<Geometry> shapeSupplier, String indexedShapeId) Creates a new GeoShapeQueryBuilder whose Query will be against the given field name and will use the Shape found with the given shape id and supplierGeoShapeQueryBuilder
(String fieldName, Geometry shape) Creates a new GeoShapeQueryBuilder whose Query will be against the given field name using the given Shape -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.lucene.search.Query
buildShapeQuery
(SearchExecutionContext context, MappedFieldType fieldType) builds the appropriate lucene shape queryprotected boolean
doEquals
(GeoShapeQueryBuilder other) Indicates whether some otherQueryBuilder
object of the same type is "equal to" this one.protected int
protected GeoShapeQueryBuilder
doRewrite
(QueryRewriteContext queryRewriteContext) void
doShapeQueryXContent
(XContentBuilder builder, ToXContent.Params params) writes the xcontent specific to this shape queryprotected void
doWriteTo
(StreamOutput out) static GeoShapeQueryBuilder
fromXContent
(XContentParser parser) The minimal version of the recipient this object can be sent toReturns the name of the writeable objectprotected GeoShapeQueryBuilder
newShapeQueryBuilder
(String fieldName, Supplier<Geometry> shapeSupplier, String indexedShapeId) creates a new ShapeQueryBuilder from the provided field name, supplier and indexed shape idprotected GeoShapeQueryBuilder
newShapeQueryBuilder
(String fieldName, Geometry shape) creates a new ShapeQueryBuilder from the provided field name and shape builderrelation
(ShapeRelation relation) Sets the relation of query shape and indexed shape.strategy()
strategy
(SpatialStrategy strategy) Defines which spatial strategy will be used for building the geo shape Query.Methods inherited from class org.elasticsearch.index.query.AbstractGeometryQueryBuilder
doEquals, doToQuery, doXContent, fieldName, ignoreUnmapped, ignoreUnmapped, indexedShapeId, indexedShapeIndex, indexedShapeIndex, indexedShapePath, indexedShapePath, indexedShapeRouting, indexedShapeRouting, parsedParamsFromXContent, relation, shape, shape
Methods inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
addValidationError, boost, boost, boostAndQueryNameToXContent, checkNegativeBoost, declareStandardFields, doCoordinatorRewrite, doIndexMetadataRewrite, doSearchRewrite, equals, extractInnerHitBuilders, getMaxNestedDepth, getName, hashCode, parseInnerQueryBuilder, parseTopLevelQuery, parseTopLevelQuery, printBoostAndQueryName, queryName, queryName, readQueries, requireValue, rewrite, setMaxNestedDepth, throwParsingExceptionOnMultipleFields, toQuery, toString, toXContent, writeQueries, writeTo
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.elasticsearch.xcontent.ToXContentObject
isFragment
-
Field Details
-
NAME
- See Also:
-
STRATEGY_FIELD
-
-
Constructor Details
-
GeoShapeQueryBuilder
Creates a new GeoShapeQueryBuilder whose Query will be against the given field name using the given Shape- Parameters:
fieldName
- Name of the field that will be queriedshape
- Shape used in the Query
-
GeoShapeQueryBuilder
public GeoShapeQueryBuilder(String fieldName, Supplier<Geometry> shapeSupplier, String indexedShapeId) Creates a new GeoShapeQueryBuilder whose Query will be against the given field name and will use the Shape found with the given shape id and supplier- Parameters:
fieldName
- Name of the field that will be queriedshapeSupplier
- A shape supplierindexedShapeId
- The indexed id of a shape
-
GeoShapeQueryBuilder
Creates a new GeoShapeQueryBuilder whose Query will be against the given field name and will use the Shape found with the given ID- Parameters:
fieldName
- Name of the field that will be filteredindexedShapeId
- ID of the indexed Shape that will be used in the Query
-
GeoShapeQueryBuilder
- Throws:
IOException
-
-
Method Details
-
doWriteTo
- Overrides:
doWriteTo
in classAbstractGeometryQueryBuilder<GeoShapeQueryBuilder>
- Throws:
IOException
-
getWriteableName
Description copied from interface:VersionedNamedWriteable
Returns the name of the writeable object -
relation
Sets the relation of query shape and indexed shape.- Overrides:
relation
in classAbstractGeometryQueryBuilder<GeoShapeQueryBuilder>
- Parameters:
relation
- relation of the shapes- Returns:
- this
-
strategy
Defines which spatial strategy will be used for building the geo shape Query. When not set, the strategy that will be used will be the one that is associated with the geo shape field in the mappings.- Parameters:
strategy
- The spatial strategy to use for building the geo shape Query- Returns:
- this
-
strategy
- Returns:
- The spatial strategy to use for building the geo shape Query
-
doShapeQueryXContent
public void doShapeQueryXContent(XContentBuilder builder, ToXContent.Params params) throws IOException Description copied from class:AbstractGeometryQueryBuilder
writes the xcontent specific to this shape query- Specified by:
doShapeQueryXContent
in classAbstractGeometryQueryBuilder<GeoShapeQueryBuilder>
- Throws:
IOException
-
newShapeQueryBuilder
Description copied from class:AbstractGeometryQueryBuilder
creates a new ShapeQueryBuilder from the provided field name and shape builder- Specified by:
newShapeQueryBuilder
in classAbstractGeometryQueryBuilder<GeoShapeQueryBuilder>
-
newShapeQueryBuilder
protected GeoShapeQueryBuilder newShapeQueryBuilder(String fieldName, Supplier<Geometry> shapeSupplier, String indexedShapeId) Description copied from class:AbstractGeometryQueryBuilder
creates a new ShapeQueryBuilder from the provided field name, supplier and indexed shape id- Specified by:
newShapeQueryBuilder
in classAbstractGeometryQueryBuilder<GeoShapeQueryBuilder>
-
buildShapeQuery
public org.apache.lucene.search.Query buildShapeQuery(SearchExecutionContext context, MappedFieldType fieldType) Description copied from class:AbstractGeometryQueryBuilder
builds the appropriate lucene shape query- Specified by:
buildShapeQuery
in classAbstractGeometryQueryBuilder<GeoShapeQueryBuilder>
-
doEquals
Description copied from class:AbstractQueryBuilder
Indicates whether some otherQueryBuilder
object of the same type is "equal to" this one.- Specified by:
doEquals
in classAbstractQueryBuilder<GeoShapeQueryBuilder>
-
doHashCode
protected int doHashCode()- Overrides:
doHashCode
in classAbstractGeometryQueryBuilder<GeoShapeQueryBuilder>
-
doRewrite
protected GeoShapeQueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws IOException - Overrides:
doRewrite
in classAbstractGeometryQueryBuilder<GeoShapeQueryBuilder>
- Throws:
IOException
-
fromXContent
- Throws:
IOException
-
getMinimalSupportedVersion
Description copied from interface:VersionedNamedWriteable
The minimal version of the recipient this object can be sent to
-