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 自述文件