Skip to main content

Geo-polygon Query

A query returning hits that only fall within a polygon of points.

In order to use the GeoPolygon query import the following:

import zio.elasticsearch.query.GeoPolygonQuery
import zio.elasticsearch.ElasticQuery._

You can create a GeoPolygon query using the geoPolygon method with list of coordinates in the following manner:

val query: GeoPolygonQuery = geoPolygon(field = "location", List("0, 0", "0, 90", "90, 90", "90, 0"))

You can create a type-safe GeoPolygon query using the geoPolygon method with list of coordinates in the following manner:

val query: GeoPolygonQuery = geoPolygon(field = Document.location, List("0, 0", "0, 90", "90, 90", "90, 0"))

If you want to change the _name, you can use name method:

val queryWithName: GeoPolygonQuery = geoPolygon(field = "location", coordinates = List("0, 0", "0, 90", "90, 90", "90, 0")).name("name")

If you want to change the validation_method, you can use validationMethod method:

import zio.elasticsearch.query.ValidationMethod

val queryWithValidationMethod: GeoPolygonQuery = geoPolygon(field = "location", coordinates = List("0, 0", "0, 90", "90, 90", "90, 0")).validationMethod(value = ValidationMethod.IgnoreMalformed)

You can find more information about GeoPolygon query here.