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