for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Elastica\Query;
/**
* Geo polygon query.
*
* @author Michael Maclean <[email protected]>
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-polygon-query.html
*/
class GeoPolygon extends AbstractQuery
{
* Key.
* @var string Key
protected $_key;
* Points making up polygon.
* @var array Points making up polygon
protected $_points;
* Construct polygon query.
* @param string $key Key
* @param array $points Points making up polygon
public function __construct($key, array $points)
$this->_key = $key;
$this->_points = $points;
}
* Converts query to array.
* @see \Elastica\Query\AbstractQuery::toArray()
* @return array
public function toArray()
return [
'geo_polygon' => [
$this->_key => [
'points' => $this->_points,
],
];
* @inheritdoc
* @return int
public function count()
return count($this->_key);