public function matches($key, array $values, $bool, $filter = false, array $params = []) {
        $subQuery = $this->orWhere($bool);
        foreach ($values as $value) {
            $subQuery->match($key, $value, $bool, true, $params);
        }
        $subQuery->endSubQuery();
        return $this;
    }
public function matches($key, array $values, $bool, $filter = false, array $params = []) {
        $subQuery = $this->orWhere($bool);
        foreach ($values as $value) {
            $subQuery->match($key, $value, $bool, true, $params);
        }
        $subQuery->endSubQuery();
        return $this;
    }
public function matches ( $ key , array $ values , $ bool , $ filter = false , array $ params = [ ] ) { $ subQuery = $ this -> orWhere ( $ bool ) ; foreach ( $ values as $ value ) { $ subQuery -> match ( $ key , $ value , $ bool , true , $ params ) ; } $ subQuery -> endSubQuery ( ) ; return $ this ; }
Creates multiple match queries for each value in the array

Queries will be joined by an OR filter

@param string $key the key to create the matches for
@param array $values a list of values to create a match query for each
@param type $bool
@param array $params
@return QueryBuilder|static|self
Creates multiple match queries for each value in the array