<?php namespace Elastica\Query; /** * Distance feature query. * * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-distance-feature-query.html */ class DistanceFeature extends AbstractQuery { public function __construct(string $field, $origin, string $pivot) { $this->setField($field); $this->setOrigin($origin); $this->setPivot($pivot); } public function setField(string $field): self { return $this->setParam('field', $field); } /** * @param array|string $origin */ public function setOrigin($origin): self { return $this->setParam('origin', $origin); } public function setPivot(string $pivot): self { return $this->setParam('pivot', $pivot); } public function setBoost(float $boost = 1.0): self { return $this->setParam('boost', $boost); } }