From fe9fd8129fcc92270d9ce3cc6c56c98f1c9987eb Mon Sep 17 00:00:00 2001 From: Aivaras Gotovskis <aivaras.gotovskis@ongr.io> Date: Tue, 7 Jul 2015 12:58:59 +0300 Subject: [PATCH] Add geo polygon filter doc. --- docs/Filter/GeoPolygon.md | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 docs/Filter/GeoPolygon.md diff --git a/docs/Filter/GeoPolygon.md b/docs/Filter/GeoPolygon.md new file mode 100644 index 0000000..98631f1 --- /dev/null +++ b/docs/Filter/GeoPolygon.md @@ -0,0 +1,48 @@ +# Geo Polygon Filter + +> More info about geo polygon range filter is in the [official elasticsearch docs][1] + +A filter allowing to include hits that only fall within a polygon of points. + +## Simple example + +```JSON +{ + "filtered" : { + "query" : { + "match_all" : {} + }, + "filter" : { + "geo_polygon" : { + "person.location" : { + "points" : [ + {"lat" : 40, "lon" : -70}, + {"lat" : 30, "lon" : -80}, + {"lat" : 20, "lon" : -90} + ] + } + } + } + } +} +``` + +And now the query via DSL: + +```php +$geoPolygonFilter = new GeoPolygonFilter( + 'person.location', + [ + ['lat' => 40, 'lon' => -70], + ['lat' => 30, 'lon' => -80], + ['lat' => 20, 'lon' => -90], + ] +); + +$search = new Search(); +$search->addFilter($geoPolygonFilter); + +$queryArray = $search->toArray(); +``` + +[1]: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-polygon-filter.html -- GitLab