获取相关搜索结果
本指南展示如何使用相似文档端点创建基于AI的电影推荐工作流。
检索相关搜索结果
本指南将展示如何使用相似文档端点创建一个基于AI的电影推荐工作流。
首先,您将创建一个嵌入器(embedder)并向索引添加文档。然后执行搜索,并使用顶部结果的primary key来检索数据库中相似的电影。
前提条件
- 一个运行中的Meilisearch项目
- 一个等级≥2的OpenAI API密钥
创建新索引
创建一个名为movies
的索引,并将这个movies.json
数据集添加到其中。如有需要,请参考入门指南获取更多关于索引创建的说明。
数据集中的每个文档代表一部电影,具有以下结构:
id
: 数据库中每个文档的唯一标识符title
: 电影标题overview
: 电影情节的简要概述genres
: 与电影相关的类型数组poster
: 电影海报图片的URLrelease_date
: 电影上映日期,以Unix时间戳表示
配置嵌入器
接下来,使用 Cloud UI 配置一个 OpenAI 嵌入器:
你也可以使用 /settings/embedders
API 子路由来配置嵌入器:
将 MEILISEARCH_URL
、MEILISEARCH_API_KEY
和 OPENAI_API_KEY
替换为你应用中的对应值。
Meilisearch 将开始为数据集中的所有电影生成嵌入向量。使用返回的 taskUid
来跟踪此任务的进度。完成后,你就可以开始搜索了。
执行混合搜索
当文档添加完毕且所有嵌入向量生成完成后,你可以执行搜索:
该请求会返回一个电影列表。选择排名第一的结果并记录其在 id
字段中的主键。在本例中,是电影”Batman”,其 id
为 192。
返回相似文档
将”Batman”的 id
传递到索引的 /similar
路由,并指定 movies-text
作为你的嵌入器:
Meilisearch 将返回与你选择的电影最相似的 20 个文档列表。然后你可以选择向用户展示其中一些相似结果,引导他们发现可能感兴趣的其他电影。
总结
恭喜!您已成功使用 Meilisearch 构建了一个由 AI 驱动的电影搜索与推荐系统,具体实现了以下功能:
- 搭建 Meilisearch 项目并配置 AI 驱动的搜索功能
- 实现结合关键词搜索与语义搜索的混合搜索方案
- 集成 Meilisearch 的相似性搜索实现电影推荐功能
在实际应用中,您现在可以开始将此工作流集成到前端界面中,例如这篇 Meilisearch 官方博客文章 中展示的示例。