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 <https://github.com/pat/thinking-sphinx/releases/tag/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.
