将 Meilisearch 集成到您的 Ruby on Rails 应用中

1. 创建 Meilisearch 项目

Meilisearch Cloud 控制台中创建项目。如需逐步指导,请查看我们的入门指南

如果您更喜欢使用自托管版本的 Meilisearch,可以按照快速入门教程操作。

2. 创建 Rails 应用

确保您的环境至少使用 Ruby 2.7.0 和 Rails 6.1。

rails new blog

3. 安装 meilisearch-rails gem

进入您的 Rails 应用目录并安装 meilisearch-rails gem。

bundle add meilisearch-rails

4. 添加 Meilisearch 凭证

运行以下命令创建 config/initializers/meilisearch.rb 文件。

bin/rails meilisearch:install

然后添加您的 Meilisearch URL 和默认管理员 API 密钥。在 Meilisearch Cloud 中,您可以在项目设置中找到这些凭证。

MeiliSearch::Rails.configuration = {
  meilisearch_url: '<您的 Meilisearch URL>',
  meilisearch_api_key: '<您的 Meilisearch API 密钥>'
}

5. 生成模型并运行数据库迁移

创建一个示例 Article 模型并生成迁移文件。

bin/rails generate model Article title:string body:text

bin/rails db:migrate

6. 将模型索引到 Meilisearch

包含 MeiliSearch::Rails 模块和 meilisearch 代码块。

class Article < ApplicationRecord
    include MeiliSearch::Rails
    
    meilisearch do
    # 索引设置
 # 如果保留空块,所有属性都将发送到 Meilisearch
    end
end

这段代码会创建一个 Article 索引并为您的 Article 模型添加搜索功能。

配置完成后,meilisearch-rails 会自动将您的表数据与 Meilisearch 实例同步。

7. 在数据库中创建新记录

使用 Rails 控制台在数据库中创建新条目。

bin/rails console

# 使用循环创建并保存5篇具有预定义标题和正文的文章
titles = ["Welcome to Rails", "Exploring Rails", "Advanced Rails", "Rails Tips", "Rails in Production"]
bodies = [
  "这是你进入 Ruby on Rails 的第一步。",
  "深入探索 Rails 框架。",
  "探索 Rails 的高级功能。",
  "给 Rails 开发者的快速提示。",
  "在生产环境中管理 Rails 应用。"
]

titles.each_with_index do |title, index|
  article = Article.new(title: title, body: bodies[index])
  article.save # 将条目保存到数据库
end

8. 开始搜索

后端搜索

后端搜索会返回从数据库重新加载的符合 ORM 规范的对象。


# Meilisearch 支持容错搜索:
hits = Article.search('deepre')
hits.first

我们强烈建议使用前端搜索,以获得即时响应的输入即搜索体验。

前端搜索

出于测试目的,您可以使用我们内置的搜索预览来浏览记录。

我们还提供资源帮助您快速构建自己的前端界面

后续步骤

当您准备使用自己的数据时,请确保先配置您的索引设置以遵循最佳实践。完整配置示例请参阅 meilisearch-rails gem README