Ce Gems simplifie l'intégration avec le module Redissearch (http://redissearch.io/). Ce logiciel est de qualité alpha et ne reçoit aucune garantie. De plus, Redissearch n'est toujours pas officiellement publié, de sorte que les fonctionnalités majeures peuvent changer.
Installez Redis et Redissearch suivant les instructions sur http://redissearch.io/quick_start/. Jusqu'à ce que les modules soient libérés avec Redis 4, cela nécessite de compiler Redis à partir de la branche Unstable de GitHub.
Ajoutez cette ligne à Gemfile de votre application:
gem 'redi_search_rails'Puis exécuter:
$ bundle
Ou installez-le vous-même comme:
$ gem install redi_search_rails
Créer config / initialisers / redi_search_rails.rb
REDI_SEARCH = Redis . new ( host : '127.0.0.1' , port : '6379' ) class User < ApplicationRecord
include RediSearchRails
redi_search_schema name : 'TEXT' , email : 'TEXT' , age : 'NUMERIC'
end
# => to create index run in rails console
User . ft_create
# => populate index with records for all users
User . ft_add_all
# => or you can do it for specific record
User . ft_add ( User . where ( id : 1 ) )
# => search
User . ft_search ( keyword : 'keyword here' , offset : 0 , num : 10 )
# => output
[ 1 , "gid://application_name/User/unique_id" , [ "name" , "Bob" , "age" , "100" ] ]
# => format results as array of objects
User . ft_search_format ( keyword : 'keyword here' , offset : 0 , num : 10 )
# => output
[ { "id" : "gid://application_name/User/unique_id" , "name" : "Bob" , "age" : "100" } , { ... } ]
# => for autocomplete
User . ft_sugadd ( record : user , attribute : name )En tant qu'identifiant unique (DOC_ID) pour les enregistrements dans Redis, ce gemme utilise GlobalId. Vous devez vous assurer que vos modèles le soutiennent si vous utilisez ORM autre qu'ActIverecord.
Après avoir vérifié le dépôt, exécutez bin/setup pour installer des dépendances. Ensuite, exécutez rake spec pour exécuter les tests. Vous pouvez également exécuter bin/console pour une invite interactive qui vous permettra d'expérimenter. Pour comprendre le code, regardez dans lib/redi_search_rails .
Pour installer ce gemme sur votre machine locale, exécutez bundle exec rake install . Pour publier une nouvelle version, mettez à jour le numéro de version dans version.rb , puis exécutez bundle exec rake release , qui créera une balise GIT pour la version, pousse Git Commits and Tags, et poussez le fichier .gem sur RubyGems.org.
Tester ce joyau nécessite d'avoir un redis local avec le module Redissearch. Il est très difficile de le configurer avec des services comme CodeShip.
Les rapports de bogues et les demandes de traction sont les bienvenus sur GitHub sur https://github.com/dmitrypol/redi_search_rails. Ce projet est destiné à être un espace sûr et accueillant pour la collaboration, et les contributeurs devraient adhérer au Code de conduite de l'alliance des contributeurs.
Le GEM est disponible en open source en vertu des termes de la licence du MIT.