{"repo":"toptal/chewy","free":true,"listed":false,"github":"https://github.com/toptal/chewy","clone":"git clone https://github.com/toptal/chewy.git","description":"High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client","language":"Ruby","stars":1902,"topics":["elasticsearch","elasticsearch-client","ruby"],"license":"MIT","category":"data-pipelines","readme_excerpt":"Chewy Chewy is an ODM (Object Document Mapper), built on top of the official Elasticsearch client. Why Chewy? In this section we'll cover why you might want to use Chewy instead of the official elasticsearch-ruby client gem. Every index is observable by all the related models. Most of the indexed models are related to each other and sometimes it is necessary to denormalize this related data and put it in the same object. For example, you need to index an array of tags together with an article. Chewy allows you to specify an updateable index for every model separately - so corresponding articles will be reindexed on any tag update. Bulk import everywhere. Chewy utilizes the bulk ES API for full reindexing or index updates. It also uses atomic updates. All the changed objects are collected inside the atomic block and the index is updated once at the end with all the collected objects. See Chewy.strategy(:atomic) for more details. Powerful querying DSL. Chewy has an ActiveRecord-style query DSL. It is chainable, mergeable and lazy, so you can produce queries in the most efficient way. It also has object-oriented query and filter builders. Support for ActiveRecord. Chewy provides out-of-the-box integration with ActiveRecord, including automatic index updates on model changes via update index callbacks. Installation Add this line to your application's Gemfile : gem 'chewy' And then execute: $ bundle Or install it yourself as: $ gem install chewy Compatibility Chewy aims to support","default_branch":null,"files":null,"tree":[],"storefront":"/r/toptal","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/toptal/chewy/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}