如何在我的Rails 4应用程序中完成Elasticsearch-Ruby gem的设置

时间:2014-10-07 23:43:40

标签: ruby-on-rails elasticsearch

我是编程新手,我一直在研究如何将Elasticsearch-rails gem整合到我的应用程序中。但是,我已经到了一个地步,我不知道如何在我的应用程序中启动和运行它。这是我到目前为止所做的。

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

    现在我看到我需要将以下代码放入我的app文件中,但我不知道它在哪里:

    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以查看它是否已启动并正在运行。我不能让它在我的应用程序中运行而不是让它在我的计算机上运行吗?

    提前感谢您提供给我的任何见解。

1 个答案:

答案 0 :(得分: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

上写了一篇关于我在答案中所涉及的所有内容的文章