Dynamic vs Static Facets

Is all facet capability with ES dynamic in nature? In other words are all facets derived at query time, assuming the incoming query is asking for facets to be returned. Most of the search engines I have worked with do facet to attribute mapping pre-indexing and I assume this provides some performance benefit over doing all the work at query time. At some point, we would like to provide admin tool where business could configure facets as they wish, and include things like facet ordering, facet filter value ordering, and more importantly, what context those facets should be displayed in (i.e. only display Facet A if the search results are within Computers category). I am just trying to understand what faceting capability is available through ES and Lucene. Looking through the API guide seems to indicate that it is only the Search side and not Indexing side, which I guess could be a good or bad thing, depending on what you need to do, and performance is not compromised.