0

我的模型:

class Package < ActiveRecord::Base
  include Elasticsearch::Model
  include Elasticsearch::Model::Callbacks
end

当我询问索引是否存在时,我得到true

Package.__elasticsearch__.client.indices.exists(index: "packages")
=> true

但是当我这样做时:

Package.__elasticsearch__.client.indices.get(index: "packages")

我收到此错误:

Elasticsearch::Transport::Transport::Errors::BadRequest: [400] No handler found for uri [/packages] and method [GET]

我已经索引了一些文档,并且可以进行搜索,那么上面的行有什么问题?

ps:这是文档:http ://www.rubydoc.info/gems/elasticsearch-api/Elasticsearch/API/Indices/Actions

4

1 回答 1

1

这可能是您在初始化程序中配置弹性搜索客户端的方式。如果您使用的是 typhoeus 适配器,请参阅此讨论:https ://github.com/elasticsearch/elasticsearch-rails/issues/316

也可能有帮助的是调试事物是如何通过他们的奇迹插件实际索引/映射的http://localhost:9200/_plugin/marvel/sense/index.html实际索引/映射的?

GET _cat/indices 获取包/_mapping

于 2015-02-18T18:55:32.673 回答