You are totally right, i tried to remove this definition and everything 
works without it!
i'm using postgres and regexp_matches is posgres function, that can be used 
direcly in console as other sql terms, so i thought that it will work...

On Friday, May 24, 2013 12:37:12 PM UTC+4, Pat Allan wrote:
>
> 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] <javascript:>.
> > To post to this group, send email to 
> > [email protected]<javascript:>
> .
> > 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.


Reply via email to