Hi,

In one of my projects, I suddenly got a strange error when trying to search 
with a different ranker. 

To reproduce the problem, I created an empty Rails (5.1.4) project with 
only one model (city):

class CreateCities < ActiveRecord::Migration[5.1]
  def change
    create_table :cities do |t|
      t.string :names
      t.timestamps
    end
  end
end

and an index:

ThinkingSphinx::Index.define :city, :with => :active_record do
  # fields
  indexes names
end


After I have generated the Sphinx config file and I indexed the records I 
am able to search e.g. City.searc('amsterdam')

But as soon as I add a ranking mode like: City.search('amsterdam', ranker: 
:bm25) I get the warning below:

Could not log "warn.thinking_sphinx" event. NoMethodError: undefined method 
`payload' for "  \e[1m\e[32mSphinx\e[0m  ":String 
["/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thinking-sphinx-3.4.1/lib/thinking_sphinx/active_record/log_subscriber.rb:19:in
 
`warn'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thinking-sphinx-3.4.1/lib/thinking_sphinx/active_record/log_subscriber.rb:19:in
 
`warn'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/activesupport-5.1.4/lib/active_support/subscriber.rb:99:in
 
`finish'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/activesupport-5.1.4/lib/active_support/log_subscriber.rb:83:in
 
`finish'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/activesupport-5.1.4/lib/active_support/notifications/fanout.rb:102:in
 
`finish'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/activesupport-5.1.4/lib/active_support/notifications/fanout.rb:46:in
 
`block in finish'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/activesupport-5.1.4/lib/active_support/notifications/fanout.rb:46:in
 
`each'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/activesupport-5.1.4/lib/active_support/notifications/fanout.rb:46:in
 
`finish'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/activesupport-5.1.4/lib/active_support/notifications/instrumenter.rb:42:in
 
`finish_with_state'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/activesupport-5.1.4/lib/active_support/notifications/instrumenter.rb:27:in
 
`instrument'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/activesupport-5.1.4/lib/active_support/notifications.rb:166:in
 
`instrument'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thinking-sphinx-3.4.1/lib/thinking_sphinx/logger.rb:3:in
 
`log'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thinking-sphinx-3.4.1/lib/thinking_sphinx/middlewares/valid_options.rb:16:in
 
`check_options'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thinking-sphinx-3.4.1/lib/thinking_sphinx/middlewares/valid_options.rb:5:in
 
`block in call'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thinking-sphinx-3.4.1/lib/thinking_sphinx/middlewares/valid_options.rb:5:in
 
`each'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thinking-sphinx-3.4.1/lib/thinking_sphinx/middlewares/valid_options.rb:5:in
 
`call'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thinking-sphinx-3.4.1/lib/thinking_sphinx/middlewares/stale_id_filter.rb:10:in
 
`call'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/middleware-0.1.0/lib/middleware/runner.rb:31:in
 
`call'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/middleware-0.1.0/lib/middleware/builder.rb:102:in
 
`call'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thinking-sphinx-3.4.1/lib/thinking_sphinx/search.rb:88:in
 
`populate'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thinking-sphinx-3.4.1/lib/thinking_sphinx/search.rb:138:in
 
`method_missing'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/inspector.rb:109:in 
`block in <module:IRB>'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/inspector.rb:102:in 
`inspect_value'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/context.rb:385:in 
`inspect_last_value'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:665:in 
`output_value'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:494:in `block (2 
levels) in eval_input'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:627:in 
`signal_status'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:490:in `block in 
eval_input'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ruby-lex.rb:246:in 
`block (2 levels) in each_top_level_statement'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ruby-lex.rb:232:in 
`loop'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ruby-lex.rb:232:in 
`block in each_top_level_statement'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ruby-lex.rb:231:in 
`catch'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ruby-lex.rb:231:in 
`each_top_level_statement'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:489:in 
`eval_input'", 
"/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:430:in `block in 
run'", "/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:429:in 
`catch'", "/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:429:in 
`run'", "/Users/koen/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:385:in 
`start'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/railties-5.1.4/lib/rails/commands/console/console_command.rb:62:in
 
`start'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/railties-5.1.4/lib/rails/commands/console/console_command.rb:17:in
 
`start'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/railties-5.1.4/lib/rails/commands/console/console_command.rb:97:in
 
`perform'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thor-0.20.0/lib/thor/command.rb:27:in
 
`run'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thor-0.20.0/lib/thor/invocation.rb:126:in
 
`invoke_command'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/thor-0.20.0/lib/thor.rb:387:in 
`dispatch'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/railties-5.1.4/lib/rails/command/base.rb:63:in
 
`perform'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/railties-5.1.4/lib/rails/command.rb:44:in
 
`invoke'", 
"/Users/koen/.rvm/gems/ruby-2.4.1@myproject/gems/railties-5.1.4/lib/rails/commands.rb:16:in
 
`<top (required)>'", 
"/Users/koen/Documents/projects/kitchensink/bin/rails:9:in `require'", 
"/Users/koen/Documents/projects/kitchensink/bin/rails:9:in `<top 
(required)>'", "-e:1:in `load'", "-e:1:in `<main>'"]


I have used rankers before without any issues. I cannot find which change 
has triggered this strange warning. Does anyone have the same issue and 
maybe a hint how to solve it?

Best regards,

Koen



-- 
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 https://groups.google.com/group/thinking-sphinx.
For more options, visit https://groups.google.com/d/optout.

Reply via email to