Thank you Pat, I found that solution in an old message of this board, that's why I had deleted my last post.
The :source => :query method works well on localhost but I tested it yesterday evening on my small dedicated server and it took the whole night without finishing, not even telling me "indexing card_core". Is there a way to launch rake ts:rebuild RAILS_ENV=production in verbose mode to see what is happening ? Thanks a lot. Le mardi 4 février 2014 23:57:57 UTC+1, Pat Allan a écrit : > > There’s no direct option for > or < - the easiest way to take that > approach is to use ranges, with the non-specific values really big or > really small. So, time greater than now could be :time => > Time.zone.now..1.year.from_now (or whatever’s appropriate for your dataset). > > On 5 Feb 2014, at 2:52 am, Thibault Clavel > <[email protected]<javascript:>> > wrote: > > Well, indexing time went from 20+ hours to less than a second, that's > pretty amazing ! > > While I am at it, is there a way to use the with: parameters with < and > > operators ? I haven't seen this in the documentation... > > > > Le mardi 4 février 2014 11:56:14 UTC+1, Pat Allan a écrit : >> >> :source => :query shifts the attribute into its own SQL statement, which >> is simpler and thus faster (I’m always surprised at how much faster it can >> be), rather than adding extra joins and complexity to the main query covers >> the rest of the index data. >> >> Great to know it’s helped! >> >> — >> Pat >> >> On 4 Feb 2014, at 9:22 pm, Thibault Clavel <[email protected]> wrote: >> >> Hi Pat, >> >> Adding :source => :query worked like a charm, I tested with other >> attributes thaht made indexing last forever and indexing is now lightning >> fast ! >> >> What did that parameter change ? >> >> Thanks a lot anyways for your quick and effective answer, I was stuck on >> this since last week. :) >> >> >> Le mardi 4 février 2014 11:01:01 UTC+1, Pat Allan a écrit : >>> >>> Hi Thibault >>> >>> Can you add the following option to each of the attributes you’ve >>> defined: :source => :query - and see if that helps? >>> >>> Also: in TS v3, delta options are specified alongside :with => >>> :active_record: >>> >>> ThinkingSphinx::Index.define :card, :with => :active_record, :delta => >>> true do >>> # … >>> end >>> >>> — >>> Pat >>> >>> On 4 Feb 2014, at 8:11 pm, Thibault Clavel <[email protected]> wrote: >>> >>> Hi everyone, >>> >>> I've set up TS 3.1.0 on a rails 4 app, which is what I would call a >>> "playing card manager". >>> >>> *Here is my Card index :* >>> >>> ThinkingSphinx::Index.define :card, :with => :active_record do >>> # fields >>> indexes name, :sortable => true >>> indexes name_en, :sortable => true >>> >>> has colors(:id), :as => :color_ids >>> has card_formats(:id), :as => :card_format_ids >>> has rarities(:id), :as => :rarity_ids >>> >>> >>> set_property :delta => true >>> end >>> >>> >>> Colors, Card Formats and Raritiers are all has_many through >>> relationships with the Card model. When I run rake ts:rebuild or ts;index, >>> it takes less than a minute to proceed. >>> >>> *If I add this line :* >>> >>> has card_types(:id), :as => :card_type_ids >>> >>> ... which is another has_many :through, indexing starts ("indexing >>> card_core") but seems to get stuck at this point. Last stime I let it run >>> for almost 20h with no progress. :( >>> >>> *If I run SHOW INDEX on the join table card_card_types, I get this :* >>> >>> mysql> SHOW INDEX FROM card_card_types; >>> >>> +-----------------+------------+---------------------------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ >>> | Table | Non_unique | Key_name | >>> Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | >>> Null | Index_type | Comment | Index_comment | >>> >>> +-----------------+------------+---------------------------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ >>> | card_card_types | 0 | PRIMARY | >>> 1 | id | A | 25550 | NULL | NULL | >>> | BTREE | | | >>> | card_card_types | 1 | index_card_card_types_on_card_id | >>> 1 | card_id | A | 25550 | NULL | NULL | >>> YES | BTREE | | | >>> | card_card_types | 1 | index_card_card_types_on_card_type_id | >>> 1 | card_type_id | A | 34 | NULL | NULL | >>> YES | BTREE | | | >>> >>> +-----------------+------------+---------------------------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ >>> >>> which seems OK to me, since card_id and card_type_id are indexes. >>> >>> Any thoughts about this ? >>> >>> Thanks a lot ! >>> >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Thinking Sphinx" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/thinking-sphinx. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Thinking Sphinx" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/thinking-sphinx. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > -- > You received this message because you are subscribed to the Google Groups > "Thinking Sphinx" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > To post to this group, send email to [email protected]<javascript:> > . > Visit this group at http://groups.google.com/group/thinking-sphinx. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/thinking-sphinx. For more options, visit https://groups.google.com/groups/opt_out.
