I'm guessing it may impact MySQL performance ever so slightly... but I'm no MySQL guru :)
Good to know that was the cause and it's now working as expected. -- Pat On 01/06/2009, at 1:16 AM, phil wrote: > > That fixed it. Thanks! Now getting back 45 for each search. > Are there any downsides to having to set this property? > > On May 31, 8:17 pm, Pat Allan <[email protected]> wrote: >> Hi Phil >> >> Yup, that's what I'm saying - but it's not something I've seen >> cropping up in integer-related columns before, so just wanted to >> confirm that was indeed the issue. >> >> Instructions on the settings to change can be found on the docs site >> (second topic):http://freelancing-god.github.com/ts/en/common_issues.html >> >> Cheers >> >> -- >> Pat >> >> On 31/05/2009, at 12:41 AM, phil wrote: >> >> >> >>> So are you suggesting I change the default limit? (I've seen that >>> mentioned somewhere). >>> Of course a film could have a lot of actors, so their might be a >>> heft >>> amount of data. >>> is that what you are saying? >> >>> On May 30, 7:25 am, Pat Allan <[email protected]> wrote: >>>> Hmm, I wonder if it's a concatenation issue... MySQL has a default >>>> limit of 1024 characters for concatenated columns, and that's what >>>> Thinking Sphinx needs to do to pull all those ids together. >> >>>> I'm kinda guessing SQL syntax and schema here, but what's the >>>> output >>>> of the following query: >> >>>> SELECT MAX(LEN(GROUP_CONCAT(DISTINCT CONCAT_WS(',', >>>> `participants`.`id`, `directors_films`.`id`) SEPARATOR ','))) >>>> FROM films >>>> LEFT OUTER JOIN `films_participants` ON >>>> `films_participants`.film_id = >>>> `films`.id LEFT OUTER JOIN `participants` ON `participants`.id = >>>> `films_participants`.participant_id LEFT OUTER JOIN >>>> `director_films` >>>> ON (`films`.`id` = `director_films`.`film_id`) LEFT OUTER JOIN >>>> `participants` directors_films ON (`directors_films`.`id` = >>>> `director_films`.`participant_id`) >> >>>> -- >>>> Pat >> >>>> On 28/05/2009, at 11:59 PM, phil wrote: >> >>>>> It's here: >> >>>>> http://pastie.org/493662 >> >>>>> The full define index block for film is this: >> >>>>> define_index do >>>>> indexes :title, :as => :title_en, :sortable => true >>>>> indexes titles_es.title, :as => :title_es, :sortable => true >>>>> indexes synopses.synopsis, :as => :synopsis >> >>>>> indexes participants(:name), :as => :actor_name >>>>> has participants(:id), :as => :actor_ids >> >>>>> indexes directors(:name), :as => :director_name >>>>> has directors(:id), :as => :director_ids >> >>>>> has [participants(:id), directors(:id)], :as => :crew_ids >> >>>>> indexes subgenres.genre_id, :as => :genre_id >> >>>>> indexes permalink_en.link, :as => :permalink_en, :sortable => >>>>> true >>>>> indexes permalink_es.link, :as => :permalink_es, :sortable => >>>>> true >> >>>>> indexes "left(films.title, 1)", :as => :letter_en, :sortable => >>>>> true >>>>> indexes "left(translated_titles.title, 1)", :as >>>>> => :letter_es, :sortable => true >> >>>>> has created_at, updated_at, available >> >>>>> end >> >>>>> On May 28, 11:54 pm, Pat Allan <[email protected]> wrote: >>>>>> Hmm. Can you put your development.sphinx.conf file on gist or >>>>>> pastie? >>>>>> Make sure you take out your database passwords :) >> >>>>>> -- >>>>>> Pat >> >>>>>> On 28/05/2009, at 2:52 PM, phil wrote: >> >>>>>>> Hmmm >>>>>>> The only thing is this: >>>>>>> @films = Film.search :with => {:available => 1, :crew_ids => >>>>>>> @person.id} yielded 40 results >> >>>>>>> @films = Film.search :with => {:available => 1, :actor_ids => >>>>>>> @person.id} yielded 45 >> >>>>>>> How can that be? >> >>>>>>> On May 28, 11:03 pm, Pat Allan <[email protected]> >>>>>>> wrote: >>>>>>>> Documentation is always in need of more examples :) >> >>>>>>>> Because you can't filter using OR logic, you need to combine >>>>>>>> the >>>>>>>> two >>>>>>>> collections together: >> >>>>>>>> has [participants(:id), directors(:id)], :as => :crew_ids >> >>>>>>>> And then search as follows: >> >>>>>>>> Film.search :with => {:crew_ids => 12345} >> >>>>>>>> Cheers >> >>>>>>>> -- >>>>>>>> Pat >> >>>>>>>> On 28/05/2009, at 11:13 AM, phil wrote: >> >>>>>>>>> I have a like this: >>>>>>>>> class Film >>>>>>>>> indexes participants(:name), :as => :actor_name >>>>>>>>> has participants(:id), :as => :actor_ids >> >>>>>>>>> indexes directors(:name), :as => :director_name >>>>>>>>> has directors(:id), :as => :director_ids >>>>>>>>> end >> >>>>>>>>> given a person's id of 12345 how can I find films where 12345 >>>>>>>>> was >>>>>>>>> either director or actor? I can't figure out the syntax. >> >>>>>>>>> There is an utter void of examples! > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
