National History Nonprofit: Algolia Search Implementation
Algolia search integration for a battlefield preservation nonprofit’s Drupal website. One of my early projects: I implemented faceted search, query suggestions, and the educator portal search from scratch. I have continued contributing to the main site since then.
Overview
The battlefields.org Drupal site has thousands of pages of historical content. Algolia search was one of my early projects, and I implemented the integration from scratch, replacing the default Drupal search with a fast, faceted, client-side experience.
Search Implementation
I built the Algolia search integration end to end:
- Algolia InstantSearch block, facets, and initial styling (ABT-835)
- Search page build with pagination, sorting, navigation blocks, and results display (ABT-843, ABT-844)
- Migrated search from /algsearch to /search
- Facet management: clear all button, casing and format normalization, edge case styling
- Config Split for Algolia settings and environment variable management
- RevWar entity indexing and map field integration (ABT-906)
- Loading indicator (ABT-912)
- Query suggestions integration
- Search result weighting and relevance tuning
Educator Portal Search
I also built the educator portal search as a separate Algolia integration (ABT-867). This included a resource search block and template, desktop and responsive theming, facet preprocessing that merges Historical and Battle maps into a single facet, background styling, and button/keypress handlers.
Ongoing Maintenance
Since the initial search build, I have continued contributing to the broader battlefields.org site with 221 total commits across the main repo. This includes bug fixes across multiple tickets, media modal fixes, megamenu updates, and search term corrections.
Tech Stack
Attribution
Interested in working together? I'm always open to discussing new projects and opportunities.