2

Trying to deploy rails app on heroku production with Elasticsearch and Tire. Heroku bonsai addon is added but still after running this command

heroku run rake environment tire:import CLASS=Property FORCE=true

getting error:

400 : No handler found for uri [/properties] and method [POST]

Please help to debug this error?

this is my property model:

class Property < ApplicationRecord
 include Tire::Model::Search
 include Tire::Model::Callbacks

  mapping do
   indexes :id, type: 'integer'
   indexes :country
   indexes :city
   indexes :province
   indexes :holding_type
   indexes :price, boost: 10
  indexes :created_at, type: 'date'
 end
end

this is my bonsai configuration config/initializers/bonsai.rb

ENV['ELASTICSEARCH_URL'] = ENV['BONSAI_URL']
webber
  • 23
  • 2
  • 8

1 Answers1

0

This is already an Elasticsearch error message, so you are reaching it — only your query isn't correct.

I'm taking a wild guess here: You're missing the type; at least that's (one) possibility how to run into this error.

$ curl -XPOST localhost:9200/properties/ -d '{"foo": "bar"}'
No handler found for uri [/properties/] and method [POST]

PS: Isn't tire unmaintained / deprecated by now? I think the best alternative should be https://github.com/elastic/elasticsearch-rails

xeraa
  • 10,456
  • 3
  • 33
  • 66