# aclfvSearch

#### 函数功能

特征1:N或N:M检索。同步接口。


Atlas 200/500 A2推理产品不支持该接口。


#### 约束说明

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


#### 函数原型

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


#### 参数说明

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


#### 返回值说明

返回0表示成功，返回其它值表示失败。
