相似文档
/similar
路由使用 AI 驱动的搜索来返回与目标文档相似的文档。
Meilisearch 提供了两种用于检索相似文档的路由:POST
和 GET
。在大多数情况下,POST
将提供更好的性能和易用性。
使用 POST
获取相似文档
POST/indexes/{index_uid}/similar
检索与特定搜索结果相似的文档。
路径参数
名称 | 类型 | 描述 |
---|---|---|
index_uid * | 字符串 | uid of the requested index |
主体
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
id | 字符串或数字 | null | 目标文档的标识符(必填) |
embedder | 字符串 | "default" | 计算推荐时使用的嵌入器 |
attributesToRetrieve | 字符串数组 | ["*"] | 在返回的文档中显示的属性 |
offset | 整数 | 0 | 要跳过的文档数量 |
limit | 整数 | 20 | 返回的文档最大数量 |
filter | 字符串 | null | 根据属性的值过滤查询 |
showRankingScore | 布尔值 | false | 显示文档的全局排名分数 |
showRankingScoreDetails | 布尔值 | false | 显示详细的排名分数信息 |
rankingScoreThreshold | 数字 | null | 排除排名分数低的結果 |
retrieveVectors | 布尔值 | false | 返回文档向量数据 |
示例
curl \
-X POST 'http://127.0.0.1:7700/indexes/INDEX_NAME/similar' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \
--data-binary '{
"id": TARGET_DOCUMENT_ID
}'
响应: 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 of the requested index |
查询参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
id | 字符串或数字 | null | 目标文档的标识符(必填) |
embedder | 字符串 | "default" | 计算推荐时使用的嵌入器 |
attributesToRetrieve | 字符串数组 | ["*"] | 在返回的文档中显示的属性 |
offset | 整数 | 0 | 要跳过的文档数量 |
limit | 整数 | 20 | 返回的文档最大数量 |
filter | 字符串 | null | 根据属性的值过滤查询 |
showRankingScore | 布尔值 | false | 显示文档的全局排名分数 |
showRankingScoreDetails | 布尔值 | false | 显示详细的排名分数信息 |
rankingScoreThreshold | 数字 | null | 排除排名分数低的結果 |
retrieveVectors | 布尔值 | false | 返回文档向量数据 |
示例
curl \
-X GET 'http://127.0.0.1:7700/indexes/INDEX_NAME/similar?id=TARGET_DOCUMENT_ID'
响应: 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
}