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

时间:2015-01-27 22:48:32

标签: ruby elasticsearch elasticsearch-api

我的模特:

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

1 个答案:

答案 0 :(得分:1)

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

可能有用的东西是调试通过奇迹插件http://localhost:9200/_plugin/marvel/sense/index.html实际索引/映射事物的方式?

获取_cat / indices 获取包/ _mapping