2014-10-07 51 views
0

我对编程非常陌生,我一直在为如何将Elasticsearch-rails gem整合到我的应用程序中进行大量研究。但是,我已经到了一个地步,我不知道如何在我的应用程序中运行它。这是我迄今为止所做的。如何在我的Rails 4应用程序中完成设置Elasticsearch-Ruby gem

  1. gem 'elasticsearch', '~> 1.0.5'放在我的gemfile中。
  2. 在终端

类型gem install elasticsearch现在我明白了,我需要把下面的代码到我的应用程序文件,但我不知道哪里有云:

require 'elasticsearch' 

然后做什么我做这个代码?:

client = Elasticsearch::Client.new log: true 

client.transport.reload_connections! 

client.cluster.health 

client.search q: 'test' 

# etc. 

另外,我感到困惑以下宝石的区别:

gem 'elasticsearch', '~> 1.0.5 
https://github.com/elasticsearch/elasticsearch-ruby 

gem install elasticsearch-model elasticsearch-rails 
https://github.com/elasticsearch/elasticsearch-rails 
https://github.com/elasticsearch/elasticsearch-rails/tree/master/elasticsearch-model 

elasticsearch-model和elasticsearch-rails是否已经在elasticsearch-ruby中?

在一些教程中,我看到它提到您需要在您的计算机上安装elasticsearch,然后导航到http://localhost:9200以查看它是否已启动并正在运行。我不能让它在我的应用程序中运行,而不是让它在我的电脑上运行?

在此先感谢您提供给我的任何见解。

+0

http://www.sitepoint.com/full-text-search-rails-elasticsearch/ 我还没有跟着它,但本教程看起来比上面描述的要简单一些。 “http:// localhost:9200”似乎是一次性测试。 Elasticsearch *将*运行在您的应用程序中。 – dwilbank 2014-10-11 08:47:12

+0

@dwibank我按照你提到的教程试过,并且遇到了和上面相同的问题。我永远不能得到http:// localhost:9200运行,我不知道为什么。我是否需要在计算机上安装JDK才能执行此操作?在这种情况下,这并不表明在您的应用中运行弹性搜索之前,它还需要在您的计算机上运行?谢谢你的帮助! – 2014-10-11 13:46:16

+0

将尝试教程,看看会发生什么... – dwilbank 2014-10-11 17:42:20

回答

0

您所指的代码是连接并与您的Elasticsearch服务器交互。在你能做到这一点之前,你需要安装Elasticsearch。您可以将Elasticsearch视为自己的Web服务器,并将其包装在响应REST API的搜索引擎中。

Elasticsearch无法在您的应用程序中运行。它需要自己运行。安装Elasticsearch最简单的方法是使用Homebrew。通过一个命令行,您可以安装并运行Elasticsearch,这非常简单。

运行Elasticsearch后,您需要使用'elasticsearch-model'gem,因为这将成为应用程序和Elasticsearch之间的接口。 'elasticsearch-rails'gem将处理rake任务,'elasticsearch-persistence'gem将处理ruby对象,如果您使用Rails,则不需要该对象。

我希望这能回答你的问题。我只写了一篇关于我在这个答案中涵盖的所有内容的文章http://aaronvb.com/articles/intro-to-elasticsearch-ruby-on-rails-part-1.html

相关问题