---
title: aclfvSearch
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/fvsearch/aclcppdevg_03_1341.html
sourcePath: /source/zh/canncommercial/900/others/fvsearch/aclcppdevg_03_1341.html
indexId: 897e790bb800b7f83d3834cc329c10aeedf7372d2bca531860f2dfc5adb5e42369
---
# aclfvSearch

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | ☓ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | ☓ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | ☓ |
| Atlas 200I/500 A2 推理产品 | ☓ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | ☓ |


#### 功能说明

特征1:N或N:M检索。

Atlas 推理系列加速模块产品 不支持本接口。


#### 函数原型

```
aclError aclfvSearch(aclfvSearchType type, aclfvSearchInput *searchInput, aclfvSearchResult *searchRst)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| type | 输入 | 特征检索场景类型。类型定义请参见aclfvSearchType。 |
| searchInput | 输入 | 检索输入信息的指针。类型定义请参见aclfvSearchInput。 需提前调用aclfvCreateSearchInput接口创建aclfvSearchInput类型的数据。 |
| searchRst | 输出 | 检索输出结果的指针。类型定义请参见aclfvSearchResult。 需提前调用aclfvCreateSearchResult接口创建aclfvSearchResult类型的数据，该数据中queryCnt参数应与检索输入信息searchInput中的queryCnt参数相同。 检索输出返回的结果数量通过aclfvCreateSearchInput接口的topk参数设置，但与调用aclfvInit接口进行初始化时设置的topK结果数量最大值有关，若调用aclfvCreateSearchInput接口设置的topk参数值大于或等于初始化时设置的topK结果数量最大值，则在返回检索输出结果时，按初始化时设置的topK结果数量最大值返回检索结果；若调用aclfvCreateSearchInput接口设置的topk参数值小于初始化时设置的topK结果数量最大值，则在返回检索输出结果时，按实际通过aclfvCreateSearchInput接口设置的topk参数值返回检索结果。 |


#### 返回值说明

返回0表示成功，返回其他值表示失败，请参见aclError。


#### 约束说明

- 非线程安全，N:M场景不允许多线程同时添加\检索\删除。
- N:M场景或1:N场景，不添加底库，调用aclfvSearch接口检索时，返回结果数量为0。
- 调用本接口，内部会默认创建一个Stream，用于接口内任务同步执行，在接口执行完成后，该Stream资源会被自动释放。
  受硬件限制，Stream总数有限，请参见aclrtCreateStream(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_0066.html)处的说明。
