|
Post by account_disabled on Jan 29, 2024 3:55:59 GMT
在本教程中,我们将使用 Laravel Scout 和Algolia创建一个最小的歌词网站。为此,我们需要一个 CRUD 应用程序来处理我们的数据,以及一个搜索界面来让用户搜索内容。但是,我们不需要从头开始创建完整的应用程序,而是安装为本教程创建的完成的 CRUD应用程序。 Backward Skip 10s Play Video Forward Skip 10s Algolia 是一个托管搜索引擎 API,为我们提供了创建具有出色搜索功能的产品所需的所有工具和资源。 搜索库存矢量图像 在本教程结束时,我们将拥有这样的产品: Lyrics_Website_With_Algolia_Scout 歌词详情页 引导应用程序 我假设您已经启动并运行了开发环境。但是,如果您需要一个良好的开发环境才能立即采取行动,那么您应该使用Homestead Improvement。 对流浪者来说陌生吗?读这个。 想要更深入地了解吗?购买我们有关 PHP 环境的书! 如果您已经有类似的应用程序或者您有足够的经验来相对快速地构建一个应用程序,请随意跳过这一部分。 增删改查应用 下载预构建的 CRUD 项目最方便的方法是克隆它: 设置数据库 现在,让我们创建一个 。根据需要进行更改。 根据需要应用您自己的偏好。 现在,我们运行migration命令来创建表用示例数据填充数据库 歌词 WhatsApp 号码数据 网站包含有关音乐家及其作品的信息,当然还有他们歌曲的歌词。为了建立一个最低限度的数据结构,我们只为这个项目创建了两个 Eloquent 模型,即Artist和Song。模型Artist与模型是一对多的关系Song。这意味着每个艺术家可以拥有许多歌曲,并且每首歌曲都属于我们数据库中的一位艺术家。 在进入下一部分之前,您可以继续向数据库中插入一些记录,从您最喜欢的艺术家开始,然后为每个记录添加几首歌曲。 这是我们目前所拥有的: 歌词 歌曲列表 您还可以使用项目文件中包含的SQL文件,并使用以下命令将其转储到数据库中具有一组可用于搜索、显示、排名和过滤数据的属性。 我们不需要对整个记录建立索引,而只需对上述操作所需的数据建立索引。这有助于保持我们的索引清洁和优化。 除此之外,索引不是关系数据库,这意味着在索引搜索时,我们不能使用复杂的where子句或 SQL 连接。为了解决这个限制,我们应该为索引记录定义一个自定义结构。另一方面,我们应该连接所有需要的表,在索引之前准备一个自定义的 JSON 对象。 为此,我们重写模型toSearchableArray()中的方法Song(该方法通过特征添加到。引过程完成后,我们可以通过转到“索引”并从下拉菜单中选择我们的索引名称来查看 Algolia 上的索引: Algolia 指数下拉菜单 索引不是一项一次性任务。初次导入后,索引需要与数据库保持同步。
|
|