A high-level Object Document Mapper (ODM) for Elasticsearch in Ruby, built on the official elasticsearch-ruby client.
Chewy is a high-level Object Document Mapper (ODM) for Elasticsearch, built on the official elasticsearch-ruby client. It provides an abstraction layer that simplifies indexing, querying, and synchronizing data between Ruby models and Elasticsearch, handling complex denormalization and bulk operations efficiently.
Ruby developers, especially those using Rails with ActiveRecord, who need to integrate Elasticsearch for advanced search capabilities, full-text search, or complex data querying in their applications.
Developers choose Chewy for its ActiveRecord-style query DSL, automatic index synchronization with models, and efficient bulk operations, reducing the boilerplate and complexity of directly using the low-level Elasticsearch client.
High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Observable indexes automatically update when denormalized data changes, ensuring search consistency without manual triggers, as highlighted in the README's key features.
Leverages Elasticsearch's bulk API for fast full reindexing and atomic updates within transactional blocks, optimizing performance for large datasets.
Provides a chainable, ActiveRecord-style query builder that simplifies complex search operations with lazy loading and merging, reducing boilerplate code.
Offers out-of-the-box callbacks for automatic index updates on model changes, making it easy to sync Rails applications with Elasticsearch.
Does not follow SemVer; major versions align with Elasticsearch updates, and minor releases can introduce breaking changes, complicating upgrade paths as admitted in the compatibility section.
Designed exclusively for Elasticsearch with no official support for OpenSearch, limiting flexibility for projects using alternative search engines, as noted in the FAQ.
Setup requires initial configuration files like chewy.yml and handling security settings for Elasticsearch 8.x, adding complexity compared to simpler clients.