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]<javascript:>> 
> 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] <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.

Reply via email to