Ruby on Rails
Friday, January 31, 2014
I have a 2 entities which have many to many relation say teacher and subject. Each teacher has many subjects. I want to perform search on teacher by sunspot solr for all the teacher who teaches 3 subjects biology, anatomy and botany with specific time.
----------
Say model structures and relations as follows
Teacher - name, roll, ph no
has many :subjects
searchable do
string :subjects, multiple => true, stored => true do
subjects.map(&:title)
end
string :time, multiple => true, stored => true do
subjects.map(&:time)
end
end
Subject - title, time, teacher_id
belongs_to :teacher
How would I perform solr search query for the teachers who are having all 3 subjects biology, anatomy and botany at time 3:00pm.
I am trying with following code which is not taking and condition to retrieve only the teachers teaching all the 3 subjects rather its taking as or condition.
Sunspot.search(Teacher) do
with(:subjects, "biology")
with(:subjects, "anatomy")
with(:subjects, "botany")
with(:time, "3:00pm")
end.results
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/50ff3bee-770e-485b-a47b-8386a8146aa0%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment