public function search(Search $search, $returnType = self::RETURN_OBJECTS, CachePolicy $cachePolicy = null)
    {
        $parameters = [
            'query' => ['returnType' => $returnType],
            'body' => json_encode(['search' => $search], JSON_UNESCAPED_UNICODE),
            'headers' => [],
        ];

        $result = $this->call('v1/search', $parameters, self::METHOD_POST, $cachePolicy);
        $result = new SearchResult($result);

        return $result;
    }