>该教程通过使用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中文网其他相关文章!