使用 ElasticSearch 按名称获取索引 ruby gem

Get index by name with the ElasticSearch ruby gem

我的模特:

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

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

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

获取 _cat/索引 获取 packages/_mapping