この宝石は、Redisearchモジュール(http://redisearch.io/)との統合を簡素化します。このソフトウェアはアルファ品質であり、保証なしで提供されています。さらに、Redisearchはまだ公式にリリースされていないため、主要な機能が変更される可能性があります。
http://redisearch.io/quick_start/の手順に従ってRedisとRedisearchをインストールします。モジュールがRedis 4でリリースされるまで、これにはGitHubからの不安定なブランチからRedisをコンパイルする必要があります。
この行をアプリケーションのGemfileに追加します。
gem 'redi_search_rails'そして実行してください:
$ bundle
または、自分でインストールします:
$ gem install redi_search_rails
config/initializers/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 )Redisのレコードの一意の識別子(DOC_ID)として、この宝石はGlobalIDを使用します。 ActivereCord以外のORMを使用している場合、モデルがそれをサポートしていることを確認する必要があります。
リポジトリをチェックアウトした後、 bin/setupを実行して依存関係をインストールします。次に、 rake specを実行してテストを実行します。また、実験を可能にするインタラクティブなプロンプトのbin/consoleを実行することもできます。コードを理解するにはlib/redi_search_railsを調べます。
この宝石をローカルマシンにインストールするには、 bundle exec rake install実行します。新しいバージョンをリリースするには、 version.rbのバージョン番号を更新してから、バージョンbundle exec rake release gitタグを作成し、gitコミットとタグをプッシュし、 .gemファイルをRubygems.orgにプッシュします。
この宝石をテストするには、Redisearchモジュールを使用してローカルRedisを使用する必要があります。これにより、Codeshipなどのサービスでセットアップすることが非常に困難になります。
バグレポートとプルリクエストは、https://github.com/dmitrypol/redi_search_railsのGithubで大歓迎です。このプロジェクトは、コラボレーションのための安全で居心地の良いスペースであることを目的としており、貢献者は貢献者の契約行動規範を遵守することが期待されています。
宝石は、MITライセンスの条件の下でオープンソースとして利用できます。