`/similar` 路由使用 AI 驱动的搜索来返回与目标文档相似的一系列文档。

Meilisearch 公开了两个用于检索相似文档的路由:`POST` 和 `GET`。在大多数情况下,`POST` 将提供更好的性能和易用性。

使用 `POST` 获取相似文档

POST
/indexes/{index_uid}/similar

检索与特定搜索结果相似的文档。

路径参数

名称类型描述
index_uid *字符串请求索引的 uid

请求体

参数类型默认值描述
id字符串或数字null目标文档的标识符(必填)
embedder字符串null计算推荐时使用的嵌入器。必填
attributesToRetrieve字符串数组["*"]返回文档中要显示的属性
offset整数0要跳过的文档数量
limit整数20返回的最大文档数量
filter字符串null根据属性值过滤查询
showRankingScore布尔值false显示文档的全局排名分数
showRankingScoreDetails布尔值false显示详细的排名分数信息
rankingScoreThreshold数字null排除排名分数低的搜索结果
retrieveVectors布尔值false返回文档向量数据

示例

curl \
  -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/similar' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \
  --data-binary '{
    "id": TARGET_DOCUMENT_ID,
    "embedder": "EMBEDDER_NAME"
  }'

响应:`200 OK`

{
  "hits": [
    {
      "id": "299537",
      "title": "Captain Marvel"
    },
    {
      "id": "166428",
      "title": "How to Train Your Dragon: The Hidden World"
    }
    {
      "id": "287947",
      "title": "Shazam!"
    }
  ],
  "id": "23",
  "processingTimeMs": 0,
  "limit": 20,
  "offset": 0,
  "estimatedTotalHits": 3
}

使用 `GET` 获取相似文档

GET
/indexes/{index_uid}/similar

检索与特定搜索结果相似的文档。

路径参数

名称类型描述
index_uid *字符串请求索引的 uid

查询参数

参数类型默认值描述
id字符串或数字null目标文档的标识符(必填)
embedder字符串"default"计算推荐时使用的嵌入器。必填
attributesToRetrieve字符串数组["*"]返回文档中要显示的属性
offset整数0要跳过的文档数量
limit整数20返回的最大文档数量
filter字符串null根据属性值过滤查询
showRankingScore布尔值false显示文档的全局排名分数
showRankingScoreDetails布尔值false显示详细的排名分数信息
rankingScoreThreshold数字null排除排名分数低的搜索结果
retrieveVectors布尔值false返回文档向量数据

示例

curl \
  -X GET 'MEILISEARCH_URL/indexes/INDEX_NAME/similar?id=TARGET_DOCUMENT_ID&embedder=EMBEDDER_NAME'

响应:`200 OK`

{
  "hits": [
    {
      "id": "299537",
      "title": "Captain Marvel"
    },
    {
      "id": "166428",
      "title": "How to Train Your Dragon: The Hidden World"
    }
    {
      "id": "287947",
      "title": "Shazam!"
    }
  ],
  "id": "23",
  "processingTimeMs": 0,
  "limit": 20,
  "offset": 0,
  "estimatedTotalHits": 3
}