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