1. A method, implemented on at least one machine each of which has at least one processor, storage, and a communication platform connected to a network for content search, the method comprising the steps of: presenting, within a host application, a user interface; receiving a query from a user through the user interface; determining a category of search based, at least in part, on the type of the host application; fetching a plurality of selectable search results based on the query received from the user through the user interface and the category of search; receiving an input associated with a selection of one or more selectable search results from the user through the user interface; and in response to the selection, providing the one or more selected search results with the context information to the host application.