Yes,
It's working now.

Thank you for you support.
Yuri.

Il giorno domenica 26 gennaio 2014 04:53:12 UTC+1, Pat Allan ha scritto:
>
> Ah, so it’s working now?
>
> On 24 Jan 2014, at 2:42 am, [email protected] <javascript:> wrote:
>
> Ok I thinks was an error in the attribute definition.
>
> I mean:
>
> *has product_digitalassets.product_id, as => :product_ids --> NOT WORKS*
> *has product_digitalassets.product_id, :as => :product_ids --> WORKS*
>
>
> Il giorno giovedì 23 gennaio 2014 13:03:35 UTC+1, [email protected] 
> scritto:
>>
>> Hi Pat,
>>
>> I've tried to make this modification.
>>
>> Add the attribute:
>> *has product_digitalassets.product_id, as => :product_ids*
>>
>> and changed the scope method in this way:
>>
>>
>> *sphinx_scope :with_12_nc*
>>
>> *....*
>> *with: { product_ids: **ids** }*
>> *....*
>>
>> *end*
>>
>> ids = Array of *product_id* (Integer) and not *product_12NC* (string)
>>
>> the M:N join table *product_digitalassets* has these fields
>>
>> *id (primary key)*
>> *product_id*
>> *code_12nc*
>> *digitalasset_id*
>>
>> I've executed the task *rake ts:rebuild *and everything seems ok but 
>> unfortunately I've no matches in my result.
>>
>> Is it possibile to search through the foreign key product_id and not 
>> primary key id of join table? Or is this the problem?
>>
>> Thanks again.
>> Yuri.
>>
>> Il giorno mercoledì 15 gennaio 2014 13:23:42 UTC+1, Pat Allan ha scritto:
>>>
>>> Hi Yuri
>>>
>>> The attribute should probably be of the id column, as that’s an integer 
>>> (but I presume code_12nc is a string? Sphinx doesn’t support multi-value 
>>> string attributes, nor does it support filtering on single-value string 
>>> attributes).
>>>
>>> So:
>>>
>>>   has product_digitalassets.id, :as => :product_digitalasset_ids
>>>
>>> And then in your search, if you don’t have the id values, you’ll need to 
>>> translate 12NC codes to the ids:
>>>
>>>   ids = ProductDigitalasset.where(:code_12nc => 
>>> params[:codes]).pluck(:id)
>>>
>>> And then searching:
>>>
>>>   DigitalAsset.search :with => {:product_digitalasset_ids => ids}
>>>
>>> Does this make sense?
>>>
>>> -- 
>>> Pat
>>>
>>> On 15 Jan 2014, at 10:31 pm, [email protected] wrote:
>>>
>>> Hi,
>>>
>>> I need a little bit of support again if you can.
>>>
>>> This is my situation:
>>> - digitalassets (table) / Digitalasset (Model)
>>> - products (table) / Product (Model)
>>> - product_digitalassets (table) / ProductDigitalasset (Model)
>>>
>>> class ProductDigitalasset < ActiveRecord::Base
>>>   attr_accessible :digitalasset_id, :product_id, :code_12nc  
>>>   belongs_to :digitalasset
>>>   belongs_to :product  
>>> end
>>>
>>> The Join table above has also the code_12nc that I need other than the 
>>> two foreign keys
>>>
>>> How can I set a correct attribute in order to filter by the 12NC 
>>> (product)?
>>>
>>> I've several attributes like:
>>> has ..
>>> has ...
>>>
>>> What should I put at the end of the list?
>>>
>>> *has :product_digitalassets.code_12nc* not works. I red the 
>>> documentation and I've tried different combinations but I'm not able to 
>>> understand what I've to do exactly to catch the values in the join table.
>>>
>>> Thanks again.
>>> Yuri.
>>>
>>>
>>> Il giorno martedì 14 gennaio 2014 14:43:21 UTC+1, [email protected] 
>>> scritto:
>>>>
>>>> Hi Pat,
>>>>
>>>> yes there is a join table in order to link the digitalassets table and 
>>>> the products (12NC) table.
>>>>
>>>> I was wrong. It's a Many to Many association and not 1 to Many but I 
>>>> think there's no difference about the problem.
>>>>
>>>> Thank you for your clarification about the search against Sphinx and 
>>>> not MySQL. I will try to adopt your suggestion.
>>>>
>>>> Yuri.
>>>>
>>>> Il giorno martedì 14 gennaio 2014 13:00:46 UTC+1, Pat Allan ha scritto:
>>>>>
>>>>> Hi Yuri
>>>>>
>>>>> When you run the ts:index (or ts:rebuild) rake task, the Sphinx 
>>>>> indexer captures all the data from your MySQL database - search queries 
>>>>> then talk to Sphinx, not to MySQL. So, there’s no SQL query for 
>>>>> performing 
>>>>> the search (though Sphinx has its own query language called SphinxQL, 
>>>>> which 
>>>>> is almost identical to SQL, but it’s for talking to Sphinx, not 
>>>>> databases).
>>>>>
>>>>> With your has_12ncs string - is this also in the database as foreign 
>>>>> keys via a has_many association? If so, it’ll very likely be better to 
>>>>> create an attribute in your Sphinx index which stores those foreign keys 
>>>>> and then you can filter on that.
>>>>>
>>>>> Also, perhaps you’re already aware, but for Sphinx, fields and 
>>>>> attributes are different things:
>>>>> http://pat.github.io/thinking-sphinx/sphinx_basics.html
>>>>>
>>>>> — 
>>>>> Pat
>>>>>
>>>>> On 14 Jan 2014, at 10:55 pm, [email protected] wrote:
>>>>>
>>>>> Thank you for your answer.
>>>>>
>>>>> I pass a :conditions like this:
>>>>>
>>>>> *conditions: { has_12ncs: _12nc_string }*
>>>>>
>>>>> where *has_12ncs* is a *TEXT* field in MySQL filled with a 
>>>>> denormalized structure of 1 to Many relationship between Digitalassets 
>>>>> record and 12NC (product)
>>>>>
>>>>> So the value in *has_12ncs* field can be *,123,456,789,*
>>>>>
>>>>> the string passed to conditions: { has_12ncs: _12nc_string } is 
>>>>> something like:
>>>>>
>>>>> ",851322311100, | ,851304211100, | ,851340001000, | ,851343701000, | 
>>>>> ,851343801000, | ,851343901000, | ,851344001000, | ,858758938790, | 
>>>>> ,858759001790, | ,858759038790, | ,858759701790, | ,851343801020, | 
>>>>> ,851343701020, | ,851344001020, | ,851343901020, | ,858759901740, | 
>>>>> ,858759701740, | ,857542038000, | ,857594938000, | ,857542438000, | 
>>>>> ,850120596000, | ,850120696000, | ,850120796000, | ,850122601020, | 
>>>>> ,850122701000, | ,850122701010, | ,850122801000, | ,850122801020, | 
>>>>> ,851315001000, | ,851321801000, | ,851535101040, | ,858600015000, | 
>>>>> ,858600096000, | ,858600096010, | ,850122901010, | ,850123001000, | 
>>>>> ,850123001020, | ,851315001010, | ,850123001010, | ,851328301000, | 
>>>>> ,851328301010, | ,851328401010, | ,851385101080, | ,854001638000, | 
>>>>> ,854071038080, | ,854071038090, | ,854074638070, | ,856070001080, | 
>>>>> ,856079838070, | ,857532008400, | ,857532108400, | , ,"
>>>>>
>>>>> That field has a FULLTEXT index.
>>>>>
>>>>> What's the query SQL triggered against this field and values? I'm not 
>>>>> able to print the pure SQL.
>>>>>
>>>>> Thanks again.
>>>>>
>>>>>
>>>>> Il giorno martedì 14 gennaio 2014 10:46:14 UTC+1, Pat Allan ha scritto:
>>>>>>
>>>>>> Hi Yuri 
>>>>>>
>>>>>> I don’t think I’ve come across this problem before - that’s a 
>>>>>> *really* slow query! 
>>>>>>
>>>>>> Can you share your index definition with us? And are you also passing 
>>>>>> in a search term, or field/attribute filters (the :conditions and :with 
>>>>>> options)? 
>>>>>>
>>>>>> -- 
>>>>>> Pat 
>>>>>>
>>>>>> On 14 Jan 2014, at 8:40 pm, [email protected] wrote: 
>>>>>>
>>>>>> > Hi all, 
>>>>>> > for first sorry for my english. 
>>>>>> > 
>>>>>> > I've got a problem with RoR and Thinking Sphinx gem. 
>>>>>> > 
>>>>>> > I mean: everything works fine but when I try to get a search result
>>>>>>  
>>>>>> > passing a lot of parameter values through Active Record and TS API 
>>>>>> my 
>>>>>> > application slow down and become unusable. 
>>>>>> > 
>>>>>> > I need to send queries on a MyISAM table with over 600.000 records 
>>>>>> > 
>>>>>> > There's a query field that I can match with 0 or N values 
>>>>>> > If I set 0 or few values the query is fast. 
>>>>>> > If I set 1000-2000 or more values for this field the query occurs 
>>>>>> over 
>>>>>> > 10 minutes. 
>>>>>> > 
>>>>>> > I'm not sure about the query slowness because the problem occurs 
>>>>>> only 
>>>>>> > when I try to get (for example) the total_count value. 
>>>>>> > 
>>>>>> > The query is something like: 
>>>>>> > Model.search match_mode: :extended, page: page, per_page: per_page,
>>>>>>  
>>>>>> > :order => :updated_at, :sort_mode => :desc 
>>>>>> > 
>>>>>> > If I look in the searchd.query.log file I can find this informations
>>>>>>  
>>>>>> > 
>>>>>> > [Tue Jan 14 09:42:08.394 2014] 774.749 sec [ext/2/attr- 64637 
>>>>>> (0,20)] 
>>>>>> > [digitalasset_core,digitalasset_delta] @has_countries ,98, | ,88, |
>>>>>>  
>>>>>> > ,ALL, | , , @has_12ncs ,851322311100, | ,851304211100, | 
>>>>>> ,851340001000, 
>>>>>> > | ,851343701000, | ,851343801000, | ,851343901000, | ,851344001000, 
>>>>>> | 
>>>>>> > ,858758938790, | ,858759001790, | ,858759038790, | ,858759701790, |
>>>>>>  
>>>>>> > ,851343801020, | ,851343701020, | ,851344001020, | ,851343901020, |
>>>>>>  
>>>>>> > ,858759901740, | ,858759701740, | ,857542038000, | ,857594938000, |
>>>>>>  
>>>>>> > ,857542438000, | ,850120596000, | ,850120696000, | ,850120796000, |
>>>>>>  
>>>>>> > ,850122601020, | ,850122701000, | ,850122701010, | ,850122801000, |
>>>>>>  
>>>>>> > ,850122801020, | ,851315001000, | ,851321801000, | ,851535101040, |
>>>>>>  
>>>>>> > ,858600015000, | ,858600096000, | ,858600096010, | ,850122901010, |
>>>>>>  
>>>>>> > ,850123001000, | ,850123001020, | ,851315001010, | ,850123001010, |
>>>>>>  
>>>>>> > ,851328301000, | ,851328301010, | ,851328401010, | ,851385101080, |
>>>>>>  
>>>>>> > ,854001638000, | ,854071038080, | ,854071038090, | ,854074638070, |
>>>>>>  
>>>>>> > ,856070001080, | ,856079838070, | ,857532008400, | ,857532108400, |
>>>>>>  
>>>>>> > ,857565108200, | ,857565738010, | ,857575738010, | ,857576838010, |
>>>>>>  
>>>>>> > ,857582338080, | ,857584738000, | ,857586738000, | ,857586838080, |
>>>>>>  
>>>>>> > ,857588838080, | ,857597838010, | ,857599938030, | ,854060038010, |
>>>>>>  
>>>>>> > ,854070038010, | ,854080038010, | ,857580000110, | ,856087638010, |
>>>>>>  
>>>>>> > ,857597838020, | ,857586838020, | ,857576838020, | ,854076738020, |
>>>>>>  
>>>>>> > ,857597838030, | ,857587838010, | ,856010038020, | ,856087838020, |
>>>>>>  
>>>>>> > ,857500038020, | ,857500138020, | ,857500238020, | ,857500338020, |
>>>>>>  
>>>>>> > ,854020038020, | ,856010048020, | ,856010058020, | ,857500348020, |
>>>>>>  
>>>>>> > ,857500358020, | ,857500368020, | ,857580001100, | ,851330038000, |
>>>>>>  
>>>>>> > ,851330138000, | ,851330238000, | ,851330338000, | ,851330438000, |
>>>>>>  
>>>>>> > ,851330538000, | ,851330601000, | ,851330701000, | ,851330801000, |
>>>>>>  
>>>>>> > ,851330901000, | ,851331101000, | ,851331201000, | ,851331301000, |
>>>>>>  
>>>>>> > ,851331401000, | ,851331501000, | ,851331838000, | ,851331938000, |
>>>>>>  
>>>>>> > ,851338038000, | ,851338138000, | ,851338201000, | ,851338301000, |
>>>>>>  
>>>>>> > ,851338401000, | ,851338501000, | ,851345638000, | ,851345738000ÿ 
>>>>>> > 
>>>>>> > the 12NCS are the values that I want to match in order to limit the
>>>>>>  
>>>>>> > resultset. 
>>>>>> > 
>>>>>> > Can anybody help me? 
>>>>>> > Thanks in advance. 
>>>>>> > 
>>>>>> > 
>>>>>> > -- 
>>>>>> > 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 
>>>>>> > thinkin...@googlegroups.<http://googlegroups.com/>
>>>>>> com <http://googlegroups.com/>. 
>>>>>> > 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].
>>> 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