Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Hook our MongoMapper model into Solr
- module MongoAdapter
- class InstanceAdapter < Sunspot::Adapters::InstanceAdapter
- def id
- @instance.id
- end
- end
- class DataAccessor < Sunspot::Adapters::DataAccessor
- def load(id)
- @clazz.find(id)
- end
- end
- end
- Sunspot::Adapters::DataAccessor.register(MongoAdapter::DataAccessor, User)
- Sunspot::Adapters::InstanceAdapter.register(MongoAdapter::InstanceAdapter, User)
- Sunspot.setup(User) do
- text :name
- text :screen_name
- text :description
- string :screen_name
- string :flists, :multiple => true do
- listed_on.map{|l| l.keys.first.downcase.split(/-|_|\//)}.flatten
- end
- dynamic_text :lists do
- count = 0
- listed_on.inject({}) do |hash, l|
- hash["#{count}_#{l.keys.first}".to_sym] = {
- :value => l.keys.first,
- :boost => l.values.first == 0 ? 1 : l.values.first
- }
- count += 1
- hash
- end
- end
- end
Add Comment
Please, Sign In to add comment