| Understand what Search API does and its architecture |
Overview |
Use Search API when you need flexible, backend-agnostic search for Drupal. Always use Search API over core Search — uninstall the core search module, it performs redundant indexing. |
| Choose a search backend (DB, Solr, Elasticsearch, Typesense, Meilisearch) |
Backend Comparison |
Use this when choosing which search engine to use with Search API. Default to Solr for production. |
| Install Search API and create a server + index |
Installation & Setup |
Use this when installing Search API and creating your first server and index. |
| Configure a Search API server |
Server Configuration |
Use this when creating or configuring a Search API server entity. |
| Configure a Search API index |
Index Configuration |
Use this when creating or configuring a Search API index — the central entity defining what gets indexed, how it's processed, and where it's stored. |
| Add and configure indexed fields |
Fields & Data Types |
Use this when adding fields to a Search API index and choosing the correct data type for each. |
| Understand the processor pipeline (indexing and querying) |
Processor Architecture |
Use this when you need to understand how Search API processors work — the stages, weights, and execution order. |
| Choose the right processors for my backend |
Processor Recommendations |
Use this when deciding which processors to enable for your Search API index. |
| Boost search relevance (field weights, HTML elements) |
Relevance & Boosting |
Use this when tuning search result relevance — making the most relevant results appear first. |
| Build a search page with Views |
Views Integration |
Use this when building search pages using Views — the most common approach for Search API. |
| Understand the query system (conditions, sorts, programmatic queries) |
Query System |
Use this when building Search API queries programmatically or understanding how the query system works. |
| Understand tracking and the indexing lifecycle |
Indexing Lifecycle |
Use this when you need to understand how content gets tracked, indexed, and maintained in the search engine. |
| Optimize indexing performance (batch size, drush, cron) |
Indexing Performance |
Use this when optimizing how fast content gets indexed, especially for large sites or initial indexing. |
| Optimize query performance (caching, count queries) |
Query Performance |
Use this when optimizing search query speed and reducing server load. |
| Add autocomplete to search |
Autocomplete |
Use this when adding search-as-you-type suggestions to search forms. |
| Handle multilingual search |
Multilingual Search |
Use this when building search for multilingual Drupal sites. |
| Configure Solr (configsets, Solr Cloud, hosting) |
Solr Best Practices |
Use this when configuring Apache Solr as your Search API backend. |
| Build decoupled/headless search (JSON:API, Next.js) |
Decoupled Search |
Use this when building headless/decoupled frontends (Next.js, React, etc.) that need search functionality. |
| Secure search results (content access, permissions) |
Content Access & Security |
Use this when you need to ensure search results respect content access permissions. Search API does NOT restrict access by default. |
| Use Search API with Facets |
Facets Integration |
Use this when adding faceted search navigation to your Search API-powered search page. |
| Subscribe to Search API events |
Events System |
Use this when hooking into Search API's query or indexing pipeline without creating full custom processors. |
| Create custom processors, backends, or datasources |
Custom Plugin Development |
Use this when you need a custom processor, backend, datasource, or other Search API plugin. |
| Override search templates in my theme |
Theming & Templates |
Use this when customizing the display of search results or search-related elements. |
| Pick the right module stack for my site size |
Recommended Module Stacks |
Use this when planning which modules to install for your site's search functionality. |
| Debug common search problems |
Common Mistakes |
Use this when debugging search issues or reviewing a Search API implementation. |