Strapi v4 指南

    本教學課程將示範如何將 Meilisearch 與 Strapi 整合,以建立基於搜尋的 Web 應用程式。首先,您將使用 Strapi 的快速入門指南建立餐廳集合,然後使用 Meilisearch 搜尋此集合。

    先決條件

    使用 Strapi 建立後端

    設定專案

    建立一個名為 my-app 的目錄,您將在此新增應用程式的後端和前端部分。使用 Strapi 在 my-app 內產生後端 API

    npx create-strapi-app@latest back --quickstart
    

    此命令會在名為 back 的新目錄中建立 Strapi 應用程式,並開啟管理儀表板。建立帳戶以存取它。

    Strapi sign up form

    建立帳戶後,您應該會被重新導向至 Strapi 的管理儀表板。您將在此設定您的後端 API。

    建立並管理您的內容

    下一步是建立新的集合類型。集合就像您內容的藍圖—在此案例中,它將是餐廳的集合。稍後您將建立另一個名為「類別」的集合,以組織您的餐廳。

    Strapi dashboard with side menu 'Content-Type Builder' option circled

    若要繼續操作,請完成 Strapi 快速入門指南中「B 部分:使用內容類型建立器建立您的資料結構」和「D 部分:使用內容管理員將內容新增至 Strapi Cloud 專案」中的步驟 2 到 5。這些將包括

    擴充您的資料庫

    完成 Strapi 快速入門指南中的這些步驟後,兩個名為「餐廳」和「類別」的新集合應會出現在 內容管理員 > 集合類型 下。如果您按一下 餐廳,您會看到只有一個。按一下儀表板右上角的 + 建立新條目 按鈕,新增更多。

    Strapi dashboard: Content manager side menu, arrow indicating the location of the Restaurant Collection Type

    依序新增下列三間餐廳。針對每間餐廳,您都需要按 儲存,然後按 發佈

    接下來,在頁面右下角新增 法式料理 類別。

    Strapi dashboard: create an entry form, arrow indicating the location of the categorie's location in the right side menu

    您的 Strapi 後端現在已啟動並執行。Strapi 會自動為您的餐廳集合建立 REST API。請參閱 Strapi 的文件,以取得所有可用的 API 端點

    現在,是時候連接 Strapi 和 Meilisearch 並開始搜尋了。

    連接 Strapi 和 Meilisearch

    若要將 Meilisearch 外掛程式新增至 Strapi,您需要先結束 Strapi 應用程式。前往執行 Strapi 的終端機視窗,並按下 Ctrl+C 以終止程序。

    接下來,在外掛程式的 back 目錄中安裝。

    npm install strapi-plugin-meilisearch
    

    安裝完成後,您必須重新建置 Strapi 應用程式,才能在開發模式下再次啟動,因為這樣可以更輕鬆地進行設定。

    npm run build
    npm run develop
    

    此時,您的 Strapi 應用程式應該會再次在預設位址上執行:https://127.0.0.1:1337/admin/。在您的瀏覽器中開啟它。您應該會看到管理員登入頁面。輸入您用來建立帳戶的憑證。

    連線後,您應該會在螢幕左側看到新的 meilisearch 外掛程式。

    Strapi dashboard with plugins side menu: arrow pointing at the 'meilisearch' option

    meilisearch 外掛程式頁面的「設定」標籤中,新增您的 Meilisearch 憑證。

    Strapi dashboard with Meilisearch plugin selected: arrow pointing to the location of the settings tab

    現在是時候將您的 Strapi 集合新增到 Meilisearch 了。在 meilisearch 外掛程式頁面的「集合」標籤中,您應該會看到 restaurantcategory 內容類型。

    透過點擊 restaurant 旁邊的核取方塊,該內容類型會自動在 Meilisearch 中建立索引。

    GIF showing the mouse clicking on 'restaurant' in the Meilisearch collections tab

    當您在「集合」標籤中點擊 restaurant 的核取方塊時,會出現「已連結」字樣。這表示每次您在 restaurant 內容類型中新增、更新或刪除條目時,Meilisearch 都會自動更新。

    索引完成後,您的餐廳就會出現在 Meilisearch 中。存取搜尋預覽,透過搜尋「butter」來確認一切正常運作。

    GIF showing the word 'butter' being typed in the search bar and search results appearing instantly

    您的 Strapi 條目會依原樣傳送到 Meilisearch。您可以在將資料傳送到 Meilisearch 之前修改資料,例如移除欄位。請查看 strapi-plugin-meilisearch 頁面上的所有自訂選項。

    下一步是什麼

    本教學課程示範如何將您的 Strapi 集合新增至 Meilisearch。

    在大多數實際情況下,您通常會建立自訂搜尋介面,並使用 Meilisearch 的 API 擷取結果。若要了解如何快速建立自己的前端介面,請查看前端整合頁面指南。