Permata ini menyederhanakan integrasi dengan Redisearch Module (http://redisearch.io/). Perangkat lunak ini memiliki kualitas alfa dan diberikan tanpa jaminan apa pun. Selain itu Redisearch masih belum dirilis secara resmi sehingga fitur utama dapat berubah.
Instal Redis dan Redisearch mengikuti instruksi di http://redisearch.io/quick_start/. Sampai modul dilepaskan dengan redis 4, ini membutuhkan kompilasi redis dari cabang yang tidak stabil dari github.
Tambahkan baris ini ke gemfile aplikasi Anda:
gem 'redi_search_rails'Dan kemudian mengeksekusi:
$ bundle
Atau instal sendiri sebagai:
$ gem install redi_search_rails
Buat 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 )Sebagai pengidentifikasi unik (doc_id) untuk catatan di redis permata ini menggunakan GlobalID. Anda perlu memastikan model Anda mendukungnya jika Anda menggunakan ORM selain Activerecord.
Setelah memeriksa repo, jalankan bin/setup untuk menginstal dependensi. Kemudian, jalankan rake spec untuk menjalankan tes. Anda juga dapat menjalankan bin/console untuk prompt interaktif yang akan memungkinkan Anda untuk bereksperimen. Untuk memahami tampilan kode di lib/redi_search_rails .
Untuk menginstal permata ini ke mesin lokal Anda, jalankan bundle exec rake install . Untuk merilis versi baru, perbarui nomor versi di version.rb , dan kemudian jalankan bundle exec rake release , yang akan membuat tag git untuk versi, Push Git Commits and Tag, dan tekan file .gem ke rubygems.org.
Menguji permata ini membutuhkan Redis lokal dengan modul redisearch. Ini membuatnya sangat sulit untuk mengaturnya dengan layanan seperti CodeShip.
Laporan bug dan permintaan tarik dipersilakan di GitHub di https://github.com/dmitrypol/redi_search_rails. Proyek ini dimaksudkan untuk menjadi ruang yang aman dan ramah untuk kolaborasi, dan kontributor diharapkan mematuhi Kode Perilaku Perjanjian Kontributor.
Permata tersedia sebagai open source di bawah ketentuan lisensi MIT.