1. A method comprising: receiving, by a mobile device, an input including a query, the query including a user-specified keyword for a search; extracting the query from the input; determining, based at least in part on semantics of the query, a type of the query, wherein the type of the query identifies at least one category of content to be searched based at least in part on the user-specified keyword; selecting, based at least in part on the type of the query, a search engine from a plurality of search engines, wherein the search engine provides responses for queries having a query type that is the same as the type of the query; forwarding the query to the search engine; obtaining a result of a search from the search engine, wherein the result of the search is based at least in part on a search of content by the search engine for the user-specified keyword; determining that the result of the search exceeds an allowed size of an outgoing message; and in response to determining that the result of the search exceeds the allowed size of an outgoing message, outputting the result of the search by splitting the result of the search into multiple outgoing messages using boundaries of the result of the search.
1. A method comprising: receiving, by a mobile device, an input including a query, the query including a user-specified keyword for a search; extracting the query from the input; determining, based at least in part on semantics of the query, a type of the query, wherein the type of the query identifies at least one category of content to be searched based at least in part on the user-specified keyword; selecting, based at least in part on the type of the query, a search engine from a plurality of search engines, wherein the search engine provides responses for queries having a query type that is the same as the type of the query; forwarding the query to the search engine; obtaining a result of a search from the search engine, wherein the result of the search is based at least in part on a search of content by the search engine for the user-specified keyword; determining that the result of the search exceeds an allowed size of an outgoing message; and in response to determining that the result of the search exceeds the allowed size of an outgoing message, outputting the result of the search by splitting the result of the search into multiple outgoing messages using boundaries of the result of the search. 7. The method of claim 1 , wherein forwarding the query comprises sending the query to one or more servers via a wireless network.