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.