original_string: public function match($key, $value, $bool, $filter = false, array $params = []) {
          if (is_array($key)) {
              return $this->multiMatch($key, $value, $bool, $filter, $params);
          }
          if (is_array($value)) {
              return $this->matches($key, $value, $bool, $filter, $params);
          }
          $this->addBool($this->makeFilteredQuery(["match" => [$key => ["query" => $value] + $params]], $filter), $bool, $filter);
          return $this;
      }
code: public function match($key, $value, $bool, $filter = false, array $params = []) {
          if (is_array($key)) {
              return $this->multiMatch($key, $value, $bool, $filter, $params);
          }
          if (is_array($value)) {
              return $this->matches($key, $value, $bool, $filter, $params);
          }
          $this->addBool($this->makeFilteredQuery(["match" => [$key => ["query" => $value] + $params]], $filter), $bool, $filter);
          return $this;
      }
code_tokens: public function match ( $ key , $ value , $ bool , $ filter = false , array $ params = [ ] ) { if ( is_array ( $ key ) ) { return $ this -> multiMatch ( $ key , $ value , $ bool , $ filter , $ params ) ; } if ( is_array ( $ value ) ) { return $ this -> matches ( $ key , $ value , $ bool , $ filter , $ params ) ; } $ this -> addBool ( $ this -> makeFilteredQuery ( [ "match" => [ $ key => [ "query" => $ value ] + $ params ] ] , $ filter ) , $ bool , $ filter ) ; return $ this ; }
docstring: A match query
  
  @param type $key
  @param type $value
  @param type $bool
  @param boolean $filter
  @param array $params
  @return QueryBuilder|static|self
docstring_tokens: A match query