1. 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, to a back end server, 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, from the back end server, 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; communicating, based on receiving the selected facet from the set of facets, to the back end server, both the selected facet and the search query term to cause a second set of search results based on the selected facet and the search query term, to be generated; matching a second identifier of the selected facet to the first identifier of the search query term, wherein the combination of operations of communicating the search query term to the back end server 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; receiving, from the back end server, the set of facets for the search query term and a second set of search results, the set of facets is received based on communicating the search query term; based on receiving the set of facets for the search query term and the second set of search results, causing concurrent display of: (1) the second set of search results based on the search query term and the selected facet; and (2) 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.
1. 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, to a back end server, 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, from the back end server, 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; communicating, based on receiving the selected facet from the set of facets, to the back end server, both the selected facet and the search query term to cause a second set of search results based on the selected facet and the search query term, to be generated; matching a second identifier of the selected facet to the first identifier of the search query term, wherein the combination of operations of communicating the search query term to the back end server 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; receiving, from the back end server, the set of facets for the search query term and a second set of search results, the set of facets is received based on communicating the search query term; based on receiving the set of facets for the search query term and the second set of search results, causing concurrent display of: (1) the second set of search results based on the search query term and the selected facet; and (2) 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. 6. The method of claim 1 , the method further comprising: receiving a second selected facet; and causing display of a third set of search results, wherein the third set of search results are generated using the search query term and the second selected facet as a refinement query.