sunspot solr search on multiple fields of associated models

242 views
Skip to first unread message

kishore...@amzur.com

unread,
Jan 31, 2014, 5:30:42 AM1/31/14
to rubyonra...@googlegroups.com
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


Prakash Natarajan

unread,
Feb 3, 2014, 2:37:04 PM2/3/14
to rubyonra...@googlegroups.com
Hi,

Just go through the below link.

https://github.com/sunspot/sunspot


Thanks,
Prakash.N


--
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-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@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.

Reply all
Reply to author
Forward
0 new messages