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.

Reply via email to