Thanks very much, Pat!

Walter

> On Apr 17, 2020, at 10:50 PM, Pat Allan <[email protected]> wrote:
> 
> Hi Walter
> 
> I’m guessing you’ve upgraded to Thinking Sphinx 4.x at some point recently?
> 
> Due to Sphinx’s support for string-typed attributes (which have been around 
> several years, but are relatively new compared to other types), Thinking 
> Sphinx no longer automatically typecasts filters via the :with option from 
> strings to integers (as they actually need to be strings) - and while this 
> became optional in v3.4.0, it was enforced in v4.0.0.
> 
> All you’ll need to do in this specific case is ensure params[:set] is cast to 
> an integer:
> 
>   :with => {:title_set => params[:set].to_i}
> 
> But of course, this will also apply to anywhere else you were passing string 
> values (usually provided by the params hash) to any attribute filters (:with, 
> :without, :with_all).
> 
> Cheers,
> 
> — 
> Pat
> 
>> On 18 Apr 2020, at 6:36 am, Walter Lee Davis <[email protected]> wrote:
>> 
>> More detail about this. Here's the index:
>> 
>> ThinkingSphinx::Index.define :title, :with => :active_record do
>>  set_property :group_concat_max_len => 10.megabytes
>> 
>>  indexes :title, :sortable => true
>>  indexes teaser
>>  indexes content.plain, :as => :plain_text
>>  indexes author_name, :sortable => true
>>  has roles(:person_id), :as => :people_ids 
>>  has :id, :as => :title_id
>>  has author_id, created_at, updated_at
>>  has set, :as => :title_set
>>  where sanitize_sql(["publish", true])
>> end
>> 
>> The set column is an integer. 
>> 
>> The controller interprets this request thusly:
>> 
>>  def set
>>    @results = Title.search 
>> "\"#{ThinkingSphinx::Query.escape(params[:q].to_s)}\"",
>>    :with => {:title_set => params[:set]},
>>    :page => params[:page],
>>    :star => true,
>>    :excerpts => {
>>      :limit    => 1000,
>>      :around     => 40,
>>      :force_all_words => true,
>>      :chunk_separator => '</li><li>'
>>    } rescue Kaminari::paginate_array []
>>    @results.context[:panes] << ThinkingSphinx::Panes::ExcerptsPane
>>    @hits = @results.total_entries rescue 0
>>  end
>> 
>> Like I said, it's a very old app.
>> 
>> Walter
>> 
>>> On Apr 17, 2020, at 4:22 PM, Walter Lee Davis <[email protected]> wrote:
>>> 
>>> index title_core: unsupported filter type 'string' on int column - SELECT * 
>>> FROM `title_core` WHERE MATCH('\"epicurus\"') AND `title_set` = '1851' AND 
>>> `sphinx_deleted` = 0 LIMIT 0, 20; SHOW META):
>>> 
>>> This is coming right out of my logs today. It has not been a problem in the 
>>> past.
>>> 
>>> Walter
>>> 
>>> -- 
>>> 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 view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/thinking-sphinx/33D96497-05FF-4816-9ADD-0A29CB80E0FE%40wdstudio.com.
>> 
>> -- 
>> 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 view this discussion on the web visit 
>> https://groups.google.com/d/msgid/thinking-sphinx/ED1246D3-EFEB-4DA3-A47E-1850C1D67B95%40wdstudio.com.
> 
> 
> -- 
> 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 view this discussion on the web visit 
> https://groups.google.com/d/msgid/thinking-sphinx/C9DD7B96-7ADD-4DE0-AF7A-9EFE8E1ADDC2%40freelancing-gods.com.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/thinking-sphinx/DBF571CA-8271-4B4B-9F73-3F7585A1092E%40wdstudio.com.

Reply via email to