The core Search module is a built-in search engine that lets visitors search for content and users on a Drupal site but its features are limited. Fortunately, there is a module that is designed to replace the core Search module with a flexible framework that can be easily integrated and extended with other contributed modules: Search API. The Search API module along with its numerous extensions provides a flexible way to search any entity known to Drupal.

In this series, you will learn the basic settings of the core search module, as well as its capabilities and limitations. Then, we'll move on to the Search API module and configure it to use Search API Database Search and then we'll configure it to use the more powerful Search API Solr Search.

Once we've installed Search API and Solr Search, we'll start exploring some of the contributed modules that make Solr so awesome. First we'll use the Search API Pages module to create search pages, then we'll take that one step in the more advanced direction and use the Search Views module to create custom search pages that can be modified using fields, filter criteria and all of the advanced features of views, including exposing the search form in a block.

Then we'll take a look at using search facets, which are a fancy way of limiting search results. Facets are much like Views exposed filters, but can be much faster and more flexible. We'll also take a look at Search API Autocomplete which provides suggested searches as the user is typing, and Search API Spellcheck that can offer alternate searches when a user mistypes a search term.

After that, we'll explore Solr's location functionality and search for content that has an address within a radius, that we define, of a specified location. We'll also install the Search API Ranges module and see how it let's us limit results to content that has a field with a value that falls between two numbers. It's pretty slick, and comes with a slider that makes selecting the minimum and maximum values easy for users.

The last two topics we'll cover include Search API Attachments and Saved Searches. Search API Attachments allows Solr to search the content of files attached to a node, and and include the nodes in the results if the search term is within the attachment. That's pretty incredible! And Saved Searches allows users (both anonymous and authenticated) to save a search term and receive email notifications about new content that matches that term.

Once you've got a handle on Search API, you'll never be able to complain about Drupal's limited search capabilities again, and you'll be able to rest easy knowing that whatever search functionality you need to build, can be built.