I haven't implemented a search feature before and feel a bit stuck. I have a Sunspot search feature which finds results based on keywords - this works great - but I now want to implement the multi select facet feature, but I can't even seem to figure out how to set-up a basic facet search.
I have a many to many relationship (in rails not in real life):
Class People has_many :skills, :through => experience (and vice versa etc)
Class People < ActiveRecord::Base
has_many :skills, :through => experience
searchable do
text :first_name, :surname
end
end
In the controller
@search = Sunspot.search(People)
facet :skill_ids
end
This is the basic example I can't get working. It generates this error:
Sunspot::UnrecognizedFieldError: No field configured for People with name 'skill_ids'
How do I create the link to :skill_ids
I think I must be missing some reference in the model - but no examples I can find do reference the Ids of a relationship. Most of the examples I found use columns that are already in that model when using the facet functionality.
- How can I get the basic implementation working?
- How would I use this in the view - do I have to call hits.facet and iterate over the skills? What would the code look like to display this?
- How would I select multiple facets to search by?
- Should I put this in the community wiki?
Thank you for your time!