Searchkick brings powerful, production-ready search to Rails by mapping Active Record models into Elasticsearch with sensible defaults and easy customization. It supports language analyzers, stemming, synonyms, misspelling tolerance, and highlighting so search results feel natural to end users. Indexing is model-centric: you declare what fields to index, add computed fields, and trigger reindexing via callbacks or background jobs, with options for zero-downtime rolling reindexes. On the query side, a simple API covers relevance tuning, boosting, filtering, faceting/aggregations, and pagination, while still allowing direct access to advanced Elasticsearch features when needed. It integrates with Rails scopes and authorization patterns, making it straightforward to return only records the user can see. By wrapping complex search infrastructure in a clean Ruby interface, Searchkick lets teams deliver fast, relevant search experiences without becoming experts.
Features
- Full-text search with support for misspellings, stemming, special characters, and synonyms
- Autocomplete / instant search capabilities for user-friendly query interfaces
- Ability to customize which fields are searchable and how they are boosted or filtered
- Support for Elasticsearch and OpenSearch engines, versions compatibility handled
- Multiple indexing strategies: inline, asynchronous, queued, manual, resume reindexing etc.
- Support for geospatial queries (location based), aggregations, ordering and pagination