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.
