public function match($q)
    {
        if (is_null($q)) {
            return $this;
        }

        $orCriteria = array();

        $schema = $this->collection->schema();

        if (empty($schema)) {
            throw new \Exception('[Norm\Cursor] Cannot use match for schemaless collection');
        }

        foreach ($schema as $key => $value) {
            $orCriteria[] = array($key.'!like' => $q);
        }

        $this->criteria = $this->translateCriteria(array('!or' => $orCriteria));

        return $this;
    }