Releases: meilisearch/meilisearch-rails
Releases · meilisearch/meilisearch-rails
v0.16.0 🚂
v0.15.0 🚂
⚠️ Breaking changes
- Rename top-level module MeiliSearch to Meilisearch (#384) @ellnix
We are now consistent with other usage ofMeilisearch
. Here is a convenient one-liner to move to the new spelling:Using the old spelling is still functional, but will throw a warning for the time being.find . -type f -exec sed -i 's/MeiliSearch/Meilisearch/g' {} \;
🚀 Enhancements
- Support scopes in multi_search (#405) @ellnix
You can now apply ActiveRecord scopes to multi_search:With this change, themulti_search_results = Meilisearch::Rails.multi_search( # scope may be a relation 'books' => { q: 'Harry', scope: Book.where("year < 2005") }, # or a model 'mangas' => { q: 'Attack', scope: Manga } )
:class_name
option has been deprecated (since:scope
achieves the same outcome), using it will cause a warning to be logged. - Add federated search (#393) @ellnix
This gem now supports federated search! Federated search is similar to multi-search, except the results are a single array sorted by ranking rules:results = Meilisearch::Rails.federated_search( queries: [ { q: 'Harry', scope: Book.all }, { q: 'Attack on Titan', scope: Manga.all } ] )
Learn more in the README.<ul> <% results.each do |record| %> <li><%= record.title %></li> <% end %> </ul> <ul> <!-- Attack on Titan appears first even though it was specified second, it's ranked higher because it's a closer match --> <li>Attack on Titan</li> <li>Harry Potter and the Philosopher's Stone</li> <li>Harry Potter and the Chamber of Secrets</li> </ul>
Thanks again to @ellnix! 🎉
v0.14.3 🚂
🚀 Enhancements
-
Allow custom group names in multi search (#391) @ellnix
From the README:
You can search the same index multiple times by specifying:index_uid
:query = 'hero' multi_search_results = MeiliSearch::Rails.multi_search( 'Isekai Manga' => { q: query, class_name: 'Manga', filters: 'genre:isekai', index_uid: 'mangas_production' } 'Shounen Manga' => { q: query, class_name: 'Manga', filters: 'genre:shounen', index_uid: 'mangas_production' } 'Steampunk Manga' => { q: query, class_name: 'Manga', filters: 'genre:steampunk', index_uid: 'mangas_production' } )
🐛 Bug Fixes
- Fix will_paginate crash when Meilisearch disabled (#385) @ellnix
- Properly set
limit
in Kaminari (#395) @ellnix - Prevent background job queuing when deactivated (#401) @ellnix
Thanks again to @ellnix! 🎉
v0.14.2 🚂
⚠️ Breaking changes
- Fix CI for after ubuntu-latest becomes ubuntu-24 (#378) @brunoocasali
🚀 Enhancements
- For kaminari fixes zero results bug (#376) @bendangelo
Thanks again to @bendangelo, @brunoocasali, @curquiza, @ellnix, @meili-bors[bot] ! 🎉
v0.14.1 🚂
🚀 Enhancements
- Split
spec/integration_spec.rb
by @ellnix in #350 - Fixed soft_deprecate warnings in meilisearch-ruby by @yassun in #372
- Remove searchable attr warning for nested attrs by @ellnix in #369
- Target ruby 3 with rubocop by @ellnix in #370
Thanks again to @brunoocasali, @curquiza, @kobaltz, @meili-bors[bot] ! 🎉
v0.14.0 🚂
v0.13.1 🚂
🐛 Bug Fixes
- fix: use block for each_result in multi_search (#360) @coder2000
Thanks again to @coder2000! 🎉
v0.13.0 🚂
🚀 Enhancements
- Implement the proximity precision option (#351) @KatsukiFujimoto
🐛 Bug Fixes
Thanks again to @KatsukiFujimoto, @brunoocasali, and @ellnix! 🎉
v0.12.0 🚂
🚀 Enhancements
Meilisearch Rails now supports multi search 🎉
multi_search_results = MeiliSearch::Rails.multi_search(
Book => { q: 'Harry' },
Manga => { q: 'Attack' }
)
See usage in the README.
Thanks again to @ellnix and @meili-bors[bot]! 🎉
v0.11.1 🚂
🐛 Bug Fixes
⚙️ Maintenance/misc
- Update release-drafter.yml (#327) @brunoocasali
Thanks again to @brunoocasali, @ellnix! 🎉