相似文档
/similar
路由使用 AI 驱动的搜索来返回一些与目标文档相似的文档。
Meilisearch 公开了两个路由用于检索相似文档:POST
和 GET
。在大多数情况下,POST
将提供更好的性能和易用性。
使用 POST
获取相似文档
POST/indexes/{index_uid}/similar
检索与特定搜索结果相似的文档。
路径参数
名称 | 类型 | 描述 |
---|---|---|
index_uid * | 字符串 | 请求索引的 uid |
请求体
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
id | 字符串或数字 | 空值 | 目标文档的标识符(必填) |
embedder | 字符串 | 空值 | 用于计算推荐的 Embedder。必填 |
attributesToRetrieve | 字符串数组 | ["*"] | 要在返回的文档中显示的属性 |
offset | 整数 | 0 | 要跳过的文档数量 |
limit | 整数 | 20 | 返回的最大文档数 |
filter | 字符串 | 空值 | 按属性值过滤查询 |
showRankingScore | 布尔值 | false | 显示文档的全局排名分数 |
showRankingScoreDetails | 布尔值 | false | 显示详细的排名分数信息 |
rankingScoreThreshold | 数字 | 空值 | 排除排名分数低的结果 |
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 | 字符串或数字 | 空值 | 目标文档的标识符(必填) |
embedder | 字符串 | "默认" | 用于计算推荐的 Embedder。必填 |
attributesToRetrieve | 字符串数组 | ["*"] | 要在返回的文档中显示的属性 |
offset | 整数 | 0 | 要跳过的文档数量 |
limit | 整数 | 20 | 返回的最大文档数 |
filter | 字符串 | 空值 | 按属性值过滤查询 |
showRankingScore | 布尔值 | false | 显示文档的全局排名分数 |
showRankingScoreDetails | 布尔值 | false | 显示详细的排名分数信息 |
rankingScoreThreshold | 数字 | 空值 | 排除排名分数低的结果 |
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
}