def search(<EOL>self,<EOL>filter_by,<EOL>return_fields=None,<EOL>sort_by=None,<EOL>desc=True,<EOL>limit=None,<EOL>offset=None,<EOL>):
self._validate_filter_fields(filter_by)<EOL>search_filter = self._create_search_filter(filter_by)<EOL>search_params = {"<STR_LIT>": search_filter}<EOL>if return_fields is not None:<EOL><INDENT>self._validate_return_fields(return_fields)<EOL>field_list = "<STR_LIT:U+002C>".join(return_fields)<EOL>search_params["<STR_LIT>"] = field_list<EOL><DEDENT>if sort_by is not None:<EOL><INDENT>self._validate_sort_field(sort_by)<EOL>if desc:<EOL><INDENT>direction = self.SORT_ORDER_DESCENDING<EOL><DEDENT>else:<EOL><INDENT>direction = self.SORT_ORDER_ASCENDING<EOL><DEDENT>search_params["<STR_LIT>"] = "<STR_LIT>".format(sort_by, direction)<EOL><DEDENT>if limit is not None:<EOL><INDENT>search_params["<STR_LIT>"] = int(limit)<EOL><DEDENT>if offset is not None:<EOL><INDENT>search_params["<STR_LIT>"] = int(offset)<EOL><DEDENT>response = self._query(search_params)<EOL>return response<EOL>
Full search of games resource, supporting all search fields
available in API
http://www.giantbomb.com/api/documentation#toc-0-17

:param filter_by: dict
:param return_fields: tuple
:param sort_by: string
:param desc: bool
:param limit: int
:param offset: int
:return: pybomb.clients.Response