Hi Ryan Great to know you got it figured out, but sorry that the problem cropped up at all.
It is mentioned in the docs, just on a different page: http://freelancing-god.github.com/ts/en/common_issues.html#mysql_large_fields That said, the specific setting (as opposed to the problem) should get a mention on the advanced config page too. Cheers -- Pat On 25/02/2010, at 6:45 AM, Ryan Angilly wrote: > It's a group_concat_max_len problem. > > Had to add: > > set_property :group_concat_max_len => 8192 > > to my define_index block. > > Perhaps this little gem should be added to the Advanced Config page > (http://freelancing-god.github.com/ts/en/advanced_config.html)? > Really kicked my ass today :-) > > > Thanks! > Ryan > > > On Feb 24, 2:12 pm, Ryan Angilly <[email protected]> wrote: >> I have a model. A Parent has many children. Each child has a >> zip_code. >> >> class Parent < AR::B >> has_many :children >> >> define_index do >> has children(:zip_code), :as => :child_zip_codes >> end >> end >> >> When I search for Parents that have a child zip code of 01518, I get 4 >> results: >> Parent.search(:with => {:child_zip_codes => ['01518']}) #=> 4 results >> >> When I search for Parents that have a child zip code 0f 01007, I only >> get 1 result. >> Parent.search(:with => {:child_zip_codes => ['01007']}) #=> 1 result >> >> The problem is upon further review: >> Parent.search(:with => {:child_zip_codes => ['01518']}).map {|x| >> x.children.find_by_zip_code('01007').present? } #=> [true, true, true, >> true] >> >> Each of the results for 01518 should also show up in the 01007 search >> because each of those Parents has a child with each zip_code. >> >> The only difference between the results is the number of children per >> Parent. The ones that are "missing" have a lot more children. >> Parent.search(:with => {:child_zip_codes => ['01518']}).map {|x| >> x.children.count } #=> [201, 335, 566, 335] >> >> and the index of the zip code with missing results is higher: >> Parent.search(:with => {:child_zip_codes => ['01518']}).map {|x| >> x.child_listings.map(&:zip_code).index('01007') } #=> [84, 179, 280, >> 179] >> >> If I delete a bunch of children such that the index of my child w/ zip >> code 01007 # goes down: >> Parent.search(:with => {:child_zip_codes => ['01518']}).map {|x| >> x.child_listings.map(&:zip_code).index('01007') } #=> [84, 79, 280, >> 179] >> >> I get two results: >> Parent.search(:with => {:child_zip_codes => ['01007']}) #=> 2 results >> >> Is there a hard-coded limit relating to the number of relationships >> when defining attributes somewhere that I'm missing? > > -- > 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.
