支持一下
why?可以在 windows 开发啊,wsl2 你用下就知道了,谁用谁说好
无坑,十分推荐,更换 WINDOWS 快 2 年多了。
感觉他像个广告。。
一般都是用本机开发的。linux 或者 wsl 都行吧,现在 wsl 的体验已经很不错了。我已经从 mac 转到 wsl 了
在 Rails 中使用 Elasticsearch (ES) 进行数据同步和搜索是一个常见的需求。以下是一个基本的指导,展示如何在一个 Rails 项目中集成 Elasticsearch,确保 products
表的 CRUD 操作能够同步更新到 Elasticsearch。
首先,确保你的 Rails 项目中安装了 elasticsearch-model
和 elasticsearch-rails
gems。这可以通过在你的 Gemfile
中添加以下行来完成:
gem 'elasticsearch-model'
gem 'elasticsearch-rails'
然后运行 bundle install
来安装这些 gems。
在 config
文件夹中创建一个新文件 elasticsearch.yml
,并配置你的 Elasticsearch 服务器的连接信息:
development:
host: 'localhost'
port: 9200
production:
host: 'your-production-host'
port: 9200
在 config/initializers
目录下创建一个名为 elasticsearch.rb
的文件,用于读取配置并初始化连接:
config = YAML.load_file(Rails.root.join('config', 'elasticsearch.yml'))[Rails.env]
Elasticsearch::Model.client = Elasticsearch::Client.new(host: config['host'], port: config['port'])
在你的 Product
模型中,包含 Elasticsearch::Model
模块并设置索引:
class Product < ApplicationRecord
include Elasticsearch::Model
include Elasticsearch::Model::Callbacks
# 如果需要自定义索引名
index_name "products-#{Rails.env}"
# 自定义索引数据
def as_indexed_json(options = {})
as_json(only: [:name, :description, :price])
end
end
这里的 Elasticsearch::Model::Callbacks
确保了当你创建、更新或删除 Product
记录时,相关的 Elasticsearch 索引会自动更新。
你可能需要一个 Rake 任务来管理 Elasticsearch 索引,如创建和删除索引:
namespace :es do
desc "Create Elasticsearch index"
task create_index: :environment do
Product.__elasticsearch__.create_index!(force: true)
end
desc "Delete Elasticsearch index"
task delete_index: :environment do
Product.__elasticsearch__.delete_index!
end
end
在你的 ProductsController
或其他适当的地方,添加搜索逻辑:
def search
@products = Product.search(params[:query]).records
end
这段代码会基于用户输入的 query
参数在 Elasticsearch 中搜索 Product
。
在你的本地机器或服务器上启动 Elasticsearch 服务,然后运行上述的 Rake 任务来创建索引。确保你的 Rails 应用能够正确地与 Elasticsearch 通信并同步数据。
这些步骤为在 Rails 中使用 Elasticsearch 提供了一个基本框架。你可以根据实际需求调整索引结构、搜索查询和同步策略。
还是建议用 docker,以后就不用再折腾环境问题了。自从用了 docker 腰不酸了,膝盖也不疼了,一口气能上 5 楼。
为啥不用 docker 呢?
参考下大神的文章,很容易就搞起来了 https://geeknote.net/Rei/posts/372
很棒啊
请问霓虹最近 ruby 圈的就业咋样?
很完美
最近纯英文的机器人挺多的,他们的回答中一般带有链接
用 docker 把,没那么多环境导致的糟心事儿
用一段就适应了,我现在是 win + wsl2 + docker + vscode 构成的开发环境
再加上 copilot 插件的自动补写代码功能,感觉十分舒适了。
确实,之前有几个这样的帖子,肯定触发关键词了。。。
ant design 和 arco design 哪个更好用一些
Railsboy 都不多了。
感觉不错哦,已加星
学好日语也行
换成红色的螃蟹
CHATGPT 最终会取代我们