Hello,

I'm upgrading to thinking sphinx from 1.4.3 to 3.1, quite a switch but I 
need to do it!

My question succinctly and hopefully accurately put is: How do I handle 
multiple fields as one field correctly?
For example, previously I had several places where I need to group several 
string values under one searchable field.  

Here's an example of that from my previous define_index block:

# yes, it's with polymorphic set up
indexes [data.title, data.subtitle, data.title_supplement, data.cover_blurb
], :as => :title

With that entry, when I go to configure the index, I get an error of 
NoMethodError: undefined method `column_names' for Data:Class

$ rake ts:configure

** Invoke ts:configure (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute ts:configure
Generating configuration to /vagrant/config/development.sphinx.conf
rake aborted!
NoMethodError: undefined method `column_names' for Data:Class
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/attr_encrypted-1.3.2/lib/attr_encrypted.rb:258:in
 
`method_missing'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/active_record/column_sql_presenter.rb:26:in
 
`exists?'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/
lib/thinking_sphinx/active_record/column_sql_presenter.rb:14:in `with_table'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/active_record/property_sql_presenter.rb:60:in
 
`collect'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/active_record/property_sql_presenter.rb:60:in
 
`columns_with_table'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/
lib/thinking_sphinx/active_record/property_sql_presenter.rb:41:in 
`casted_column_with_table'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/active_record/property_sql_presenter.rb:17:in
 
`to_select'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/active_record/sql_builder/statement.rb:75:in
 
`collect'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/
lib/thinking_sphinx/active_record/sql_builder/statement.rb:75:in 
`presenters_to_select'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/active_record/sql_builder/statement.rb:118:in
 
`select_clause'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/active_record/sql_builder/statement.rb:89:in
 
`scope_by_select'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/
lib/thinking_sphinx/active_record/sql_builder/statement.rb:54:in 
`filter_by_scopes'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/active_record/sql_builder/statement.rb:12:in
 
`to_relation'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/active_record/sql_builder.rb:11:in
 
`sql_query'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/
lib/thinking_sphinx/active_record/sql_source.rb:119:in `build_sql_query'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/active_record/sql_source.rb:136:in
 
`prepare_for_render'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/active_record/sql_source.rb:65:in
 
`render'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/riddle-1.5.11/lib/
riddle/configuration/index.rb:29:in `block in render'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/riddle-1.5.11/lib/riddle/configuration/index.rb:29:in
 
`collect'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/riddle-1.5.11/lib/riddle/configuration/index.rb:29:in
 
`render'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/
lib/thinking_sphinx/core/index.rb:53:in `render'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/riddle-1.5.11/lib/riddle/configuration.rb:43:in
 
`block in render'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/riddle-1.5.11/lib/riddle/configuration.rb:43:in
 
`collect'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/riddle-1.5.11/lib/
riddle/configuration.rb:43:in `render'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/configuration.rb:90:in
 
`render'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/configuration.rb:96:in
 
`block in render_to_file'
/usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/open-uri.rb:36:in `open'
/usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/open-uri.rb:36:in `open'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/configuration.rb:96:in
 
`render_to_file'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/
lib/thinking_sphinx/rake_interface.rb:13:in `configure'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/thinking-sphinx-3.1.1/lib/thinking_sphinx/tasks.rb:4:in
 
`block (2 levels) in <top (required)>'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/task.rb:240:in
 
`call'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/
task.rb:240:in `block in execute'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/task.rb:235:in
 
`each'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/task.rb:235:in
 
`execute'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/
task.rb:179:in `block in invoke_with_call_chain'
/usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/monitor.rb:211:in `
mon_synchronize'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/task.rb:172:in
 
`invoke_with_call_chain'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/
task.rb:165:in `invoke'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/application.rb:150:in
 
`invoke_task'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/application.rb:106:in
 
`block (2 levels) in top_level'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/
application.rb:106:in `each'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/application.rb:106:in
 
`block in top_level'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/application.rb:115:in
 
`run_with_threads'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/
application.rb:100:in `top_level'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/application.rb:78:in
 
`block in run'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/application.rb:176:in
 
`standard_exception_handling'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/lib/rake/
application.rb:75:in `run'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/gems/rake-10.3.2/bin/rake:33:in
 
`<top (required)>'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/bin/rake:23:in `load'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/bin/rake:23:in `<main>'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/bin/ruby_executable_hooks:15:in
 
`eval'
/usr/local/rvm/gems/ruby-2.1.0@production-rails3/bin/ruby_executable_hooks:15:in
 
`<main>'
Tasks: TOP => ts:configure

I've looked around but not been able to find any examples in docs or 
elsewhere, for this sort of definition - with multiple attributes acting as 
one.  

I've also tried to define :multi => true, but from what I read about multi 
value attributes, only integer, boolean and timestamp are supported?  Is 
that the same feature as what I was using before?  Is that feature 
deprecated then?

Thanks!

-- 
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/d/optout.

Reply via email to