public static function complexSearch($params)
    {
        $instance = new static;

        $result = $instance->getElasticSearchClient()->search($params);

        return static::hydrateElasticsearchResult($result);
    }
public static function complexSearch($params)
    {
        $instance = new static;

        $result = $instance->getElasticSearchClient()->search($params);

        return static::hydrateElasticsearchResult($result);
    }
public static function complexSearch ( $ params ) { $ instance = new static ; $ result = $ instance -> getElasticSearchClient ( ) -> search ( $ params ) ; return static :: hydrateElasticsearchResult ( $ result ) ; }
Perform a "complex" or custom search.

Using this method, a custom query can be sent to Elasticsearch.

@param  $params parameters to be passed directly to Elasticsearch
@return ElasticquentResultCollection
Perform a complex or custom search .