ElasticSearch Ruby在没有运行ElasticSearch的情况下返回结果

时间:2015-03-03 05:52:58

标签: ruby-on-rails ruby ruby-on-rails-4 elasticsearch

我正在使用新的ElasticSearch Ruby宝石:

gem 'elasticsearch'
gem 'elasticsearch-model'
gem 'elasticsearch-rails'

我有点感到困惑的是它返回结果,没有任何ElasticSearch运行实例......

例如,我这样做:

Tag.search("stackoverflow").results.first

它实际上返回一个#<Elasticsearch::Model::Response::Result>实例,包含“stackoverflow”。

这是问题的GIF:http://i.imgur.com/8jGB5x1.gif

它来自哪里?

2 个答案:

答案 0 :(得分:0)

要测试ElasticSearch是否正在运行,请在终端中尝试:

curl -X GET 'http://localhost:9200'

回复与此类似:

{
  "ok" : true,
  "status" : 200,
  "name" : "Destroyer, The",
  "version" : {
    "number" : "0.90.7",
    "build_hash" : "36897d07dadcb70886db7f149e645ed3d44eb5f2",
    "build_timestamp" : "2013-11-13T12:06:54Z",
    "build_snapshot" : false,
    "lucene_version" : "4.5.1"
  },
  "tagline" : "You Know, for Search"
}

答案 1 :(得分:0)

我实际上已经设置了elasticsearch客户端以连接到bonsai.io ...

Elasticsearch::Model.client = Elasticsearch::Client.new({
  host: bonsai_host
})

我在部署到heroku时做到了,完全忘记了。