A Ruby gem for integrating Algolia's search API with ActiveRecord, Mongoid, and Sequel ORMs.
AlgoliaSearch Rails is a Ruby gem that integrates Algolia's cloud search API with Ruby on Rails applications. It allows developers to easily add fast, relevant search to their Rails models by automatically syncing data to Algolia indices and providing a DSL for configuring search behavior. It solves the problem of building and maintaining complex search infrastructure by offloading it to Algolia's managed service.
Ruby on Rails developers who need to add robust, scalable search functionality to their applications using Algolia, especially those using ActiveRecord, Mongoid, or Sequel as their ORM.
Developers choose this gem because it dramatically reduces the boilerplate required to integrate Algolia with Rails, offering automatic indexing, a clean DSL for configuration, and support for advanced search features out of the box. It's the official and most maintained solution for Rails-Algolia integration.
AlgoliaSearch integration to your favorite ORM
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically syncs with ActiveRecord, Mongoid, and Sequel using Rails callbacks, as highlighted in the 'Setup' section, eliminating manual data pipeline code.
Allows defining search indices directly in models with a clean Ruby block syntax for attributes, ranking, and faceting, shown in the 'Index Schema' and 'Relevancy' sections.
Supports automatic indexing via callbacks with options for background jobs like ActiveJob or Sidekiq, detailed in the 'Auto-indexing & asynchronism' section.
Built-in support for faceting, geo-search, replica indices, and custom ranking without additional libraries, as demonstrated in sections like 'Faceting' and 'Geo-Search'.
Tightly couples the application to Algolia's proprietary API, making migration difficult and incurring ongoing expenses based on search volume, with no built-in fallback options.
When using custom attribute blocks, the gem cannot automatically detect changes, requiring manual `_changed?` methods, as noted in the 'Custom attribute definition' section.
Indexing relies on Rails callbacks, which can be bypassed by methods like `update_attribute`, leading to stale search data if not handled carefully, as warned in the 'Notes' under Setup.