>該教程通過使用Laravel Scout和Algolia來構建最小的歌詞網站來指導您進行有效的搜索。 我們將利用預建的CRUD應用程序來簡化數據管理,重點是集成Algolia的搜索功能。
利用Laravel Scout進行索引和Algolia進行強大的搜索。
>資源:跳躍啟動PHP環境
資源:PHP環境上的書
2。數據庫配置:
創建一個MySQL數據庫(根據環境的需要調整設置):
<code class="language-bash">git clone git@github.com:lavary/lyrics-crud.git coolyrics cd coolyrics composer install</code>
在 >運行數據庫遷移:
>用示例數據(手動或使用提供的SQL文件)填充數據庫。 數據庫架構包括具有一到一對多關係的
<code class="language-sql">mysql -h localhost -u homestead -psecret mysql> CREATE DATABASE lyrics</code>和
模型。 .env.example
.env
<code>DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=lyrics DB_USERNAME=root DB_PASSWORD=password</code>3。安裝和配置Laravel Scout:
<code class="language-bash">php artisan migrate</code>
Artist
安裝Laravel Scout:Song
<code class="language-bash">git clone git@github.com:lavary/lyrics-crud.git coolyrics cd coolyrics composer install</code>
>將服務提供商添加到config/app.php
:
<code class="language-sql">mysql -h localhost -u homestead -psecret mysql> CREATE DATABASE lyrics</code>
發布偵察配置:
<code>DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=lyrics DB_USERNAME=root DB_PASSWORD=password</code>
>通過添加Song
特徵和自定義Searchable
:toSearchableArray()
>
<code class="language-bash">php artisan migrate</code>
4。設置Algolia:
創建一個Algolia帳戶,並獲得您的Application ID
和您的Admin API Key
>文件(建議用於安全):config/scout.php
.env
安裝Algolia php SDK:
<code class="language-bash">composer require laravel/scout</code>
>將初始數據導入Algolia:
<code class="language-php">Laravel\Scout\ScoutServiceProvider::class,</code>通過Algolia儀表板配置您的Algolia索引(可搜索的屬性,自定義排名等)。
<code class="language-bash">php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"</code>5。構建網站界面(使用InstantSearch.js):>
>本節詳細介紹了為搜索和歌曲詳細信息頁面創建路由,控制器和視圖。 這些組件的完整代碼太廣泛,無法在此處包含,但是概述了關鍵元素。 請參閱原始教程以進行完整實施。 >
路由(
):routes/web.php
控制器():app/Http/Controllers/LyricsController.php
):創建resources/views
視圖顯示單個歌曲的詳細信息。
在
search.blade.php
6。 運行應用程序:song.blade.php
search.blade.php
song.blade.php
完成上述步驟後,您可以啟動Laravel應用程序,並通過網絡瀏覽器訪問歌詞網站。 由Algolia和Laravel Scout提供支持的搜索功能應完全運行。
以上是如何與Laravel Scout和Algolia建立歌詞網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!