Ah right. It needs to be a string: indexes "regexp_matches(callid, '\^\[0-9\]\*')", :as => :phone
On 24/05/2013, at 6:50 PM, Дмитрий Карбышев wrote: > 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]. > > 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. > > -- 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.
