The issue is very likely this line: indexes regexp_matches(callid,'\^\[0-9\]\*'), :as => :phone
Index definitions are translated to SQL statements, so you're not able to call methods - especially not methods expected to occur within the scope of each instance. You could translate this line to use a SQL snippet instead, or perhaps the regex translation isn't even required? On 24/05/2013, at 6:19 PM, Дмитрий Карбышев wrote: > Hi, i'm trying to set up indexing in my rails app and get unexpected message, > help me please. > rake ts:configure --trace > ** Invoke ts:configure (first_time) > ** Invoke environment (first_time) > ** Execute environment > ** Execute ts:configure > Generating configuration to /home/test/krabe/config/development.sphinx.conf > rake aborted! > undefined method `active_record' for nil:NilClass > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/associations.rb:80:in > `reflection_for' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/associations.rb:50:in > `join_for' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/associations.rb:65:in > `joins_for' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/associations.rb:18:in > `aggregate_for?' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/property_sql_presenter.rb:22:in > `block in aggregate?' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/property_sql_presenter.rb:21:in > `each' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/property_sql_presenter.rb:21:in > `any?' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/property_sql_presenter.rb:21:in > `aggregate?' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/property_sql_presenter.rb:34:in > `casted_column_with_table' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/property_sql_presenter.rb:15:in > `to_select' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/sql_builder.rb:127:in > `collect' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/sql_builder.rb:127:in > `select_clause' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/sql_builder.rb:10:in > `sql_query' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/sql_source.rb:120:in > `prepare_for_render' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/active_record/sql_source.rb:62:in > `render' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/riddle-1.5.6/lib/riddle/configuration/index.rb:29:in > `block in render' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/riddle-1.5.6/lib/riddle/configuration/index.rb:29:in > `collect' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/riddle-1.5.6/lib/riddle/configuration/index.rb:29:in > `render' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/core/index.rb:53:in > `render' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/riddle-1.5.6/lib/riddle/configuration.rb:39:in > `block in render' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/riddle-1.5.6/lib/riddle/configuration.rb:39:in > `collect' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/riddle-1.5.6/lib/riddle/configuration.rb:39:in > `render' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/configuration.rb:78:in > `render' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/configuration.rb:84:in > `block in render_to_file' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/configuration.rb:84:in > `open' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/configuration.rb:84:in > `render_to_file' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/rake_interface.rb:4:in > `configure' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/gems/thinking-sphinx-3.0.3/lib/thinking_sphinx/tasks.rb:4:in > `block (2 levels) in <top (required)>' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/task.rb:246:in > `call' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/task.rb:246:in > `block in execute' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/task.rb:241:in > `each' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/task.rb:241:in > `execute' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/task.rb:184:in > `block in invoke_with_call_chain' > /home/test/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/monitor.rb:211:in > `mon_synchronize' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/task.rb:177:in > `invoke_with_call_chain' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/task.rb:170:in > `invoke' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/application.rb:143:in > `invoke_task' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/application.rb:101:in > `block (2 levels) in top_level' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/application.rb:101:in > `each' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/application.rb:101:in > `block in top_level' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/application.rb:110:in > `run_with_threads' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/application.rb:95:in > `top_level' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/application.rb:73:in > `block in run' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/application.rb:160:in > `standard_exception_handling' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/lib/rake/application.rb:70:in > `run' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/gems/rake-10.0.4/bin/rake:33:in > `<top (required)>' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/bin/rake:19:in `load' > /home/test/.rvm/gems/ruby-2.0.0-p0@global/bin/rake:19:in `<main>' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/bin/ruby_noexec_wrapper:14:in `eval' > /home/test/.rvm/gems/ruby-2.0.0-p0@krabe/bin/ruby_noexec_wrapper:14:in > `<main>' > Tasks: TOP => ts:configure > > thinking-sphinx=3.0.3 > sphinx = 2.0.8 > > I have a simple model app/models/ivr_log.rb > class IvrLog < ActiveRecord::Base > > attr_reader :callid, :event_name, :log_level, :message, :registered_at > > def readonly? > return true > end > > def before_destroy > raise ActiveRecord::ReadOnlyRecord > end > > end > > and app/indices/ivr_log_index.rb: > ThinkingSphinx::Index.define :ivr_log, :with => :active_record do > indexes :portal > indexes :event_name > indexes :log_level > indexes :message > indexes regexp_matches(callid,'\^\[0-9\]\*'), :as => :phone > group_by "phone" > > has :id, :registered_at, :callid > end > > I lso have table named ivr_logs in my database > > -- > 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?hl=en. > 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
