อัญมณีนี้ทำให้การรวมเข้ากับโมดูล Redisearch ง่ายขึ้น (http://redisearch.io/) ซอฟต์แวร์นี้มีคุณภาพอัลฟ่าและไม่มีการรับประกันใด ๆ นอกจากนี้ Redisearch ยังไม่ได้รับการเผยแพร่อย่างเป็นทางการดังนั้นคุณสมบัติที่สำคัญอาจเปลี่ยนแปลงได้
ติดตั้ง Redis และ Redisearch ตามคำแนะนำใน http://redisearch.io/quick_start/ จนกว่าโมดูลจะถูกปล่อยออกมาด้วย Redis 4 สิ่งนี้ต้องรวบรวม Redis จากสาขาที่ไม่เสถียรจาก GitHub
เพิ่มบรรทัดนี้ใน 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 )เป็นตัวระบุที่ไม่ซ้ำกัน (doc_id) สำหรับบันทึกใน Redis อัญมณีนี้ใช้ GlobalID คุณต้องตรวจสอบให้แน่ใจว่าโมเดลของคุณรองรับหากคุณใช้ ORM นอกเหนือจาก Activerecord
หลังจากตรวจสอบ repo ให้เรียกใช้ 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
การทดสอบอัญมณีนี้ต้องมี Redis ในท้องถิ่นด้วยโมดูล Redisearch สิ่งนี้ทำให้ยากมากที่จะตั้งค่าด้วยบริการเช่น codeship
รายงานข้อผิดพลาดและคำขอดึงยินดีต้อนรับบน GitHub ที่ https://github.com/dmitrypol/redi_search_rails โครงการนี้มีจุดประสงค์เพื่อเป็นพื้นที่ที่ปลอดภัยและเป็นมิตรสำหรับการทำงานร่วมกันและผู้สนับสนุนคาดว่าจะปฏิบัติตามจรรยาบรรณของผู้สนับสนุน
อัญมณีมีให้เป็นโอเพ่นซอร์สภายใต้ข้อกำหนดของใบอนุญาต MIT