| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php
- namespace Elastica\Query;
- /**
- * Match Phrase query.
- *
- * @author Jacques Moati <jacques@moati.net>
- * @author Tobias Schultze <http://tobion.de>
- *
- * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html
- */
- class MatchPhrase extends AbstractQuery
- {
- /**
- * @param string $field
- * @param mixed $values
- */
- public function __construct($field = null, $values = null)
- {
- if (null !== $field && null !== $values) {
- $this->setParam($field, $values);
- }
- }
- /**
- * Sets a param for the message array.
- *
- * @param string $field
- * @param mixed $values
- *
- * @return $this
- */
- public function setField($field, $values)
- {
- return $this->setParam($field, $values);
- }
- /**
- * Sets a param for the given field.
- *
- * @param string $field
- * @param string $key
- * @param string $value
- *
- * @return $this
- */
- public function setFieldParam($field, $key, $value)
- {
- if (!isset($this->_params[$field])) {
- $this->_params[$field] = [];
- }
- $this->_params[$field][$key] = $value;
- return $this;
- }
- /**
- * Sets the query string.
- *
- * @param string $field
- * @param string $query
- *
- * @return $this
- */
- public function setFieldQuery($field, $query)
- {
- return $this->setFieldParam($field, 'query', $query);
- }
- /**
- * Set field analyzer.
- *
- * @param string $field
- * @param string $analyzer
- *
- * @return $this
- */
- public function setFieldAnalyzer($field, $analyzer)
- {
- return $this->setFieldParam($field, 'analyzer', $analyzer);
- }
- /**
- * Set field boost value.
- *
- * If not set, defaults to 1.0.
- *
- * @param string $field
- * @param float $boost
- *
- * @return $this
- */
- public function setFieldBoost($field, $boost = 1.0)
- {
- return $this->setFieldParam($field, 'boost', (float) $boost);
- }
- }
|