Sitecore 7.0 introduces a feature called Execution Context. When indexing or searching for content, we allow you to work with your index in a context that will affect the way that content is indexed or queried. Sitecore abstracts this away into an Interface called IExecutionContext so that you can switch the context of the search based on your implementation.
Sitecore Execution Contexts Explained
How to properly index content using Solr 4.7 and Sitecore 7.5 with partial language fallback?