Ruby on Rails 快速入门

    将 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: '<your Meilisearch URL>',
      meilisearch_api_key: '<your Meilisearch API key>'
    }
    

    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
        # index settings
    	# all attributes will be sent to Meilisearch if block is left empty
        end
    end
    

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

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

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

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

    bin/rails console
    
    # Use a loop to create and save 5 unique articles with predefined titles and bodies
    titles = ["Welcome to Rails", "Exploring Rails", "Advanced Rails", "Rails Tips", "Rails in Production"]
    bodies = [
      "This is your first step into Ruby on Rails.",
      "Dive deeper into the Rails framework.",
      "Explore advanced features of Rails.",
      "Quick tips for Rails developers.",
      "Managing Rails applications in production environments."
    ]
    
    titles.each_with_index do |title, index|
      article = Article.new(title: title, body: bodies[index])
      article.save # Saves the entry to the database
    end
    

    8. 开始搜索

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

    # Meilisearch is typo-tolerant:
    hits = Article.search('deepre')
    hits.first
    

    我们强烈建议使用前端搜索,以享受快速响应的即时搜索体验。

    为了测试目的,你可以使用我们内置的 搜索预览 来浏览记录。

    Searching through Rails table data with Meilisearch search preview UI

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

    下一步

    当你准备好使用自己的数据时,请务必首先配置你的 索引设置,以遵循 最佳实践。有关完整的配置示例,请参阅 meilisearch-rails gem README