Classes in this topic are available in the following namespaces:
Mediachase.Search
Mediachase.Search.Extensions
Mediachase.Search.Extensions.Indexers
See also [Customize search](🔗).
To implement a new search provider or extend or replace an existing one, create a new class that implements the SearchProvider abstract class. That class contains one method that performs the search, while the others deal with indexing the data. It is typically much easier to take the existing implementations (Lucene or Solr) as a starting point.
The main classes in this Solr implementation example are:
SolrSearchProvider. The main class.
SolrSearchQueryBuilder. Converts ISearchCriteria to the provider native language and is called within the Search method of the provider.