如何将 elasticsearch 与 rails 应用程序集成,特别是使用 "Elasticsearch" gem
How to integrate elasticsearch with rails application specifically using "Elasticsearch" gem
我是 rails 和弹性搜索的新手。我已经看到使用 Tire、Searchkick 和其他一些资源进行配置的其他资源,但我想使用 Elasticsearch
gem。我的系统上有 运行 rails 应用程序和 运行 Elasticsearch 服务器,但我不知道如何配置它们以相互通信。
目前,我也遇到了很多麻烦。任何帮助将不胜感激。
在 Gemfile 中:
gem install elasticsearch-rails
要从您的文章模型导入记录,运行:
$ bundle exec rake environment elasticsearch:import:model CLASS='Article'
要将导入的记录限制在某个ActiveRecord范围内,将其传递给任务:
$ bundle exec rake environment elasticsearch:import:model CLASS='Article' SCOPE='published'
运行这条命令显示使用说明:
$ bundle exec rake -D elasticsearch
如果要用于模型
elasticsearch-model,其中包含 Ruby/Rails 模型的搜索集成,例如 ActiveRecord::Base 和 Mongoid,
对于用于模型索引的弹性 github gem 的非常基本的快速启动,您可以在开发环境中使用弹性搜索 运行ning 在 localhost:9200
在 Gemfile 中:
gem 'elasticsearch-model'
然后 运行 在终端上:
$ bundle install
in app/models/service.rb 包含在 class 声明之后:
include Elasticsearch::Model
您现在可以使用现有数据在控制台上使用它(结果只是示例):
$ 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
有关更多信息和详细信息,您可以查看项目的 github page
我是 rails 和弹性搜索的新手。我已经看到使用 Tire、Searchkick 和其他一些资源进行配置的其他资源,但我想使用 Elasticsearch
gem。我的系统上有 运行 rails 应用程序和 运行 Elasticsearch 服务器,但我不知道如何配置它们以相互通信。
目前,我也遇到了很多麻烦。任何帮助将不胜感激。
在 Gemfile 中:
gem install elasticsearch-rails
要从您的文章模型导入记录,运行:
$ bundle exec rake environment elasticsearch:import:model CLASS='Article'
要将导入的记录限制在某个ActiveRecord范围内,将其传递给任务:
$ bundle exec rake environment elasticsearch:import:model CLASS='Article' SCOPE='published'
运行这条命令显示使用说明:
$ bundle exec rake -D elasticsearch
如果要用于模型
elasticsearch-model,其中包含 Ruby/Rails 模型的搜索集成,例如 ActiveRecord::Base 和 Mongoid,
对于用于模型索引的弹性 github gem 的非常基本的快速启动,您可以在开发环境中使用弹性搜索 运行ning 在 localhost:9200
在 Gemfile 中:
gem 'elasticsearch-model'
然后 运行 在终端上:
$ bundle install
in app/models/service.rb 包含在 class 声明之后:
include Elasticsearch::Model
您现在可以使用现有数据在控制台上使用它(结果只是示例):
$ 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
有关更多信息和详细信息,您可以查看项目的 github page