protected function processFilters()
    {
        $params = $this->params;

        if (!$this->contentType) {
            throw new QueryParseException('You have attempted to run a search query without specifying a ContentType', 1);
        }

        if (isset($params['invisible']) && $params['invisible'] === true) {
            $this->config->enableSearchInvisible(true);
        }

        if (!$config = $this->config->getConfig($this->contentType)) {
            throw new QueryParseException('You have attempted to run a search query on an unknown ContentType or one that is not searchable', 1);
        }

        unset($params['filter'], $params['invisible']);

        foreach ($config as $field => $options) {
            $params[$field] = $this->getSearchParameter();
        }

        $this->params = $params;

        parent::processFilters();
    }
protected function processFilters()
    {
        $params = $this->params;

        if (!$this->contentType) {
            throw new QueryParseException('You have attempted to run a search query without specifying a ContentType', 1);
        }

        if (isset($params['invisible']) && $params['invisible'] === true) {
            $this->config->enableSearchInvisible(true);
        }

        if (!$config = $this->config->getConfig($this->contentType)) {
            throw new QueryParseException('You have attempted to run a search query on an unknown ContentType or one that is not searchable', 1);
        }

        unset($params['filter'], $params['invisible']);

        foreach ($config as $field => $options) {
            $params[$field] = $this->getSearchParameter();
        }

        $this->params = $params;

        parent::processFilters();
    }
protected function processFilters ( ) { $ params = $ this -> params ; if ( ! $ this -> contentType ) { throw new QueryParseException ( 'You have attempted to run a search query without specifying a ContentType' , 1 ) ; } if ( isset ( $ params [ 'invisible' ] ) && $ params [ 'invisible' ] === true ) { $ this -> config -> enableSearchInvisible ( true ) ; } if ( ! $ config = $ this -> config -> getConfig ( $ this -> contentType ) ) { throw new QueryParseException ( 'You have attempted to run a search query on an unknown ContentType or one that is not searchable' , 1 ) ; } unset ( $ params [ 'filter' ] , $ params [ 'invisible' ] ) ; foreach ( $ config as $ field => $ options ) { $ params [ $ field ] = $ this -> getSearchParameter ( ) ; } $ this -> params = $ params ; parent :: processFilters ( ) ; }
This overrides the SelectQuery default to do some extra preparation for a search query.
Firstly it builds separate filters for the search query and then it removes the filter
from the params and the others will then get processed normally by the parent.

@throws QueryParseException
This overrides the SelectQuery default to do some extra preparation for a search query . Firstly it builds separate filters for the search query and then it removes the filter from the params and the others will then get processed normally by the parent .