Diese Edelsteine vereinfachen die Integration mit dem Redisearch -Modul (http://redisearch.io/). Diese Software hat Alpha -Qualität und erhält keinerlei Garantien. Zusätzlich wird die Redisearch noch nicht offiziell veröffentlicht, sodass sich die größeren Funktionen ändern können.
Installieren Sie die folgenden Anweisungen für Redis und Redisearch unter http://redisarch.io/quick_start/. Bis Module mit Redis 4 freigegeben werden, erfordert dies eine Kompilierung von Redis aus einem instabilen Zweig von GitHub.
Fügen Sie diese Zeile der GemFile Ihrer Anwendung hinzu:
gem 'redi_search_rails'Und dann ausführen:
$ bundle
Oder installieren Sie es selbst als:
$ gem install redi_search_rails
Config/initializer/redi_search_rails.rb erstellen
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 )Als eindeutige Kennung (doc_id) für Datensätze in Redis verwendet dieses Juwel GlobalID. Sie müssen sicherstellen, dass Ihre Modelle es unterstützen, wenn Sie ORM als Activerecord verwenden.
Führen Sie bin/setup nach dem Auschecken des Repo aus, um Abhängigkeiten zu installieren. Führen Sie dann rake spec aus, um die Tests auszuführen. Sie können auch bin/console für eine interaktive Eingabeaufforderung ausführen, mit der Sie experimentieren können. Um den Code zu verstehen, schauen Sie in lib/redi_search_rails aus.
Um dieses Juwel auf Ihrem lokalen Computer zu installieren, führen Sie bundle exec rake install aus. Um eine neue Version zu veröffentlichen, aktualisieren Sie die Versionsnummer in version.rb und führen Sie bundle exec rake release aus, die ein Git -Tag für die Version erstellt, Git Commits und Tags drücken und die .gem -Datei auf rubygemems.org weitergeben.
Wenn Sie dieses Juwel testen, müssen lokale Redis mit dem Wiederherstellungsmodul verfügen. Dies macht es sehr schwierig, es mit Diensten wie Codeship einzurichten.
Fehlerberichte und Pull -Anfragen sind auf Github unter https://github.com/dmitrypol/redi_search_rails willkommen. Dieses Projekt soll ein sicherer, einladender Raum für die Zusammenarbeit sein, und die Mitwirkenden sollen sich an den Verhaltenskodex für den Mitwirkenden halten.
Das Edelstein ist unter den Bedingungen der MIT -Lizenz als Open Source erhältlich.