Or just one search across both models, and perhaps display the post if one of the search results is a comment?
-- Pat On 07/07/2011, at 5:39 AM, Sjors wrote: > Hi Pat, > > It's a little more tricky than that. I guess a better analogy would be > blog posts and comments. When I search a string it searches both blog > text and comment text. In the results I want to distinguish between > results that matched the blog text and results that matched the > comment text. > > It would probably make more sense for me to use two separate searches > for that, one on each model. > > Sjors > > On 1 jul, 21:20, Pat Allan <[email protected]> wrote: >> Hi Sjors >> >> Sphinx has no concept of associated records - the indexed document for a >> city will have a single street field which is all street names concatenated >> together (with a space in between each one). >> >> If you want to know which street matches, then you really should be >> searching on Street instead. If you only want one street returned for any >> city, you can group results. >> >> define_index do >> indexes city.name, :as => :city >> indexes name, :as => :street_name >> >> has city_id >> >> set_property :min_infix_len => 1 >> end >> >> And then searching: >> >> Street.search params[:search], :group_by => 'city_id', :group_function => >> :attr >> >> Will this do the job? >> >> -- >> Pat >> >> On 01/07/2011, at 8:29 AM, Sjors wrote: >> >> >> >> >> >> >> >>> I have two models, e.g. like this: >>> City >>> Street >>> Where a city has many streets. >> >>> I built a search method on the city model, like this: >> >>> define_index do >>> indexes :name >>> indexes streets.name, :as => :street_name >> >>> set_property :min_infix_len => 1 >>> end >> >>> In the controller: >>> City.search :params[:search] >> >>> The user can search either by city or by street name. The search works >>> fine, but because it just returns a City object, I'm unable to figure >>> out which Street object was matched. How do I find it? >> >>> I can't use excerpts to figure it out, because - see my previous post >>> - they don't work for partial matches and they also don't seem to work >>> if the match is not in the primary model. >> >>> Thanks, >> >>> Sjors >> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Thinking Sphinx" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]. >>> For more options, visit this group >>> athttp://groups.google.com/group/thinking-sphinx?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Thinking Sphinx" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/thinking-sphinx?hl=en. > -- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en.
