如何使用"Elasticsearch"gem专门将elasticsearch与rails应用程序集成

Tul*_*lsi 9 rubygems ruby-on-rails elasticsearch ruby-on-rails-4

我是新手,也是弹性搜索的新手.我已经看到使用Tire,Searchkick和其他一些配置的其他资源,但我想使用Elasticsearchgem.我有运行rails应用程序并在我的系统上运行Elasticsearch服务器,但我不知道如何配置它们以便彼此通信.

目前,我也面临很多麻烦.任何帮助将受到高度赞赏.

fag*_*ani 14

对于用于模型索引的弹性github gem的非常基本的快速启动,您可以在开发环境中执行以下操作,并在localhost上运行elasticsearch:9200

在Gemfile中:

gem 'elasticsearch-model'
Run Code Online (Sandbox Code Playgroud)

然后在终端上运行:

$ bundle install
Run Code Online (Sandbox Code Playgroud)

在app/models/service.rb中包括课后声明:

include Elasticsearch::Model
Run Code Online (Sandbox Code Playgroud)

您现在可以在控制台上使用现有数据进行播放(结果只是一个示例):

$ rails console

# Create the index for Service model on elasticsearch
> Service.__elasticsearch__.create_index!
=> {"acknowledged"=>true}

# Import current Service records into the index
> Service.import
  Service Load (207.3ms)  SELECT  "services".* FROM "services"  ORDER BY "services"."id" ASC LIMIT 1000

# Sample search returning total results
> Service.__elasticsearch__.search("mykeyword").results.total
=> 123
Run Code Online (Sandbox Code Playgroud)

有关更多信息和详细信息,您可以查看项目的github页面