이 보석은 Redisearch 모듈 (http://redisearch.io/)과의 통합을 단순화합니다. 이 소프트웨어는 알파 품질이며 보증이 제공되지 않습니다. 또한 Redisearch는 여전히 공식적으로 출시되지 않으므로 주요 기능이 변경 될 수 있습니다.
http://redisearch.io/quick_start/에 대한 지침에 따라 Redis 및 Redisearch를 설치하십시오. Redis 4로 모듈이 해제 될 때까지 Github에서 불안정한 지점에서 Redis를 컴파일해야합니다.
이 라인을 응용 프로그램의 보석에 추가하십시오.
gem 'redi_search_rails'그런 다음 실행 :
$ bundle
또는 직접 설치하십시오.
$ gem install redi_search_rails
구성/이니셜 라이저 생성/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 에서 버전 번호를 업데이트 한 다음 버전에 대한 GIT bundle exec rake release 를 생성하고 GIT 커밋 및 태그를 누르고 .gem 파일을 rubygems.org로 누릅니다.
이 보석을 테스트하려면 Redisearch 모듈이있는 로컬 Redis가 필요합니다. 이로 인해 Codeship과 같은 서비스로 설정하기가 매우 어렵습니다.
https://github.com/dmitrypol/redi_search_rails에서 Github에서 버그 보고서 및 풀 요청을 환영합니다. 이 프로젝트는 협력을위한 안전하고 환영하는 공간이되기위한 것이며, 기고자들은 기고자 계약 규범을 준수 할 것으로 예상됩니다.
보석은 MIT 라이센스의 조건에 따라 오픈 소스로 제공됩니다.