Is there any beginner's guide to achieving better search results in elasticsearch?

I have indexed the data with certain mappings inside elasticsearch, however I'm trying to understand what are all the ways to achieve better search results. Let's say a generic search and on top of that I can add filters. As of now I just started with

    {
        "query" :
        {
            "query_string":
            {
               "query": "test"
            }
        }
    }

Let's say if i need to expose an API for a generic search within a particular doc_type, what exactly should be the request body? and how that query can be modified for filters, how to implement recent searches, analyzers and any best practices for implementation