Ei pessoal,
Acabei de migrar meu mecanismo de busca de webapp de ônibus e bondes para o Picky , uma joia maravilhosa que descobri que torna o texto completo REALMENTE fácil.
Primeiro passo, adicione picky
ao seu Gemfile.
Em seguida, atualize o modelo:
class Stop < ActiveRecord::Base
after_save :reindex
def reindex
StopIndex.replace self
end
def self.search s
ids = (StopSearch.search s).ids
where "id in (?) and enabled is true", ids
end
end
E finalmente, adicione um inicializador config/initializers/picky.rb
if Stop.table_exists? then
StopIndex = Picky::Index.new :stops do
source Stop.all
# This will add all attributes to the index.
Stop.attribute_names[1..-1].each do |cname|
category cname.to_sym
end
end
StopSearch = Picky::Search.new StopIndex
begin
# Try to load the index from cache.
StopIndex.load
rescue
# Index on first boot or on database changes.
StopIndex.index
end
# Save the index program exit.
at_exit { StopIndex.dump }
end