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 -~----------~----~----~----~------~----~------~--~---
