7. One or more memory devices having computer-executable instructions embodied thereon that, when executed, perform a method for providing a user interface, the method comprising: receiving a search query term; communicating the search query term to cause a first set of search results and a set of facets for the search query term to be generated, wherein the query term is associated with a first identifier; receiving the first set of search results and the set of facets for the search query term; causing display of the first set of search results and the set of facets for the search query term; receiving a selected facet from the set of facets, wherein the selected facet from the set of facets is associated with a second identifier; communicating both the selected facet and the search query term to cause a second set of search results and set of sub facets, based on the selected facet and the search query term, to be generated; matching the second identifier of the selected facet to first identifier of the search query term, wherein the combination of operations of communicating the search query term and matching the second identifier to the first identifier, supports maintaining a state of the search query term, in that communicating the search query term along with the selected facet and matching the second identifier to the first identifier operates as an indication that the set of facets corresponding to the search query term are to remain available for display; causing display of the set of facets corresponding to the search query term, wherein the state of the search query term is maintained based on communicating the search query term; and causing display of the second set of search results and the set of sub facets, wherein the set of sub facets are generated using the search query term and the selected facet as a refinement query.
7. One or more memory devices having computer-executable instructions embodied thereon that, when executed, perform a method for providing a user interface, the method comprising: receiving a search query term; communicating the search query term to cause a first set of search results and a set of facets for the search query term to be generated, wherein the query term is associated with a first identifier; receiving the first set of search results and the set of facets for the search query term; causing display of the first set of search results and the set of facets for the search query term; receiving a selected facet from the set of facets, wherein the selected facet from the set of facets is associated with a second identifier; communicating both the selected facet and the search query term to cause a second set of search results and set of sub facets, based on the selected facet and the search query term, to be generated; matching the second identifier of the selected facet to first identifier of the search query term, wherein the combination of operations of communicating the search query term and matching the second identifier to the first identifier, supports maintaining a state of the search query term, in that communicating the search query term along with the selected facet and matching the second identifier to the first identifier operates as an indication that the set of facets corresponding to the search query term are to remain available for display; causing display of the set of facets corresponding to the search query term, wherein the state of the search query term is maintained based on communicating the search query term; and causing display of the second set of search results and the set of sub facets, wherein the set of sub facets are generated using the search query term and the selected facet as a refinement query. 11. The method of claim 7 , the method further comprising: causing display of one or more static facets, wherein the static facet allows the user to refine search results.