检索相关搜索结果

本指南将向您展示如何使用相似文档端点来创建 AI 驱动的电影推荐工作流。

首先,您将创建一个嵌入器并向您的索引添加文档。然后,您将执行搜索,并使用排名靠前结果的主键来检索数据库中的相似电影。

先决条件

  • 一个正在运行的 Meilisearch 项目
  • 一个等级 >=2 的 OpenAI API 密钥

创建一个新索引

创建一个名为 movies 的索引,并将此movies.json 数据集添加到其中。如有必要,请查阅入门指南以获取有关索引创建的更多说明。

数据集中的每个文档代表一部电影,并具有以下结构

  • id:数据库中每个文档的唯一标识符
  • title:电影的标题
  • overview:电影情节的简要概述
  • genres:与电影相关的类型数组
  • poster:电影海报图片的 URL
  • release_date:电影的发布日期,表示为 Unix 时间戳

配置嵌入器

接下来,使用 Cloud UI 配置 OpenAI 嵌入器

您也可以使用 /settings/embedders API 子路由来配置您的嵌入器

MEILISEARCH_URLMEILISEARCH_API_KEYOPENAI_API_KEY 替换为应用程序中的相应值。

Meilisearch 将开始为数据集中的所有电影生成嵌入。使用返回的 taskUid跟踪此任务的进度。任务完成后,您就可以开始搜索了。

添加完文档并生成所有嵌入后,您可以执行搜索

此请求返回电影列表。选择排名靠前的结果,并记下其在 id 字段中的主键。在这种情况下,它是电影“蝙蝠侠”,id 为 192。

返回相似文档

将“蝙蝠侠”的 id 传递到您索引的/similar 路由,并指定 movies-text 作为您的嵌入器

Meilisearch 将返回与您选择的电影最相似的 20 个文档列表。然后,您可以选择向用户显示其中一些相似结果,引导他们观看可能感兴趣的其他电影。

总结

恭喜!您已成功使用 Meilisearch 构建了一个 AI 驱动的电影搜索和推荐系统,通过以下方式:

  • 设置 Meilisearch 项目并将其配置为 AI 驱动搜索
  • 实现结合关键词和语义搜索功能的混合搜索
  • 集成 Meilisearch 的相似度搜索以进行电影推荐

在实际应用程序中,您现在可以将此工作流集成到前端,就像这篇官方 Meilisearch 博客文章中所示。