Search接口提供了排序功能,允许你根据数据集中的任意字段对搜索结果进行自定义排序。排序功能可以与搜索过滤功能配合使用,帮助用户快速找到最符合需求的内容。
说明
搜索列表排序为搜索后置排序,即对返回的搜索结果进行全局的排序操作。不要与自定义排序规则混淆(见 配置自定义排序策略)。同样是基于物品数据的字段属性进行字段的大小顺序或降序重排,搜索列表排序完全不考虑物品的与用户查询的相关性得分,对整个搜索返回的列表进行排序。
在调用搜索接口时,使用sort_by和sort_order参数传入排序语法进行排序操作。如下方示例所示:
curl -X POST 'https://aisearch.cn-beijing.volces.com/api/v1/application/application_id}/search' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer API key' \ -d '{ "query": { "text": "query文本字符串" "image_url":image文件 }, "page_number": 搜索页码,从 1 开始, "page_size": 每页搜索结果的数量, "user": { "user_id": 用户ID }, "filter": 搜索过滤条件 "dataset_id": 指定的数据集ID "sort_by": 指定的排序字段 "sort_order": 排序顺序 }'
int32、int64、float、bool、string"product.price"、"user.rating""desc":降序排列(从大到小)"asc":升序排列(从小到大){ "query": { "text": "运动鞋" }, "dataset_id": "106265704", "page_number": 1, "page_size": 20, "sort_by": "price", "sort_order": "asc" }
{ "query": { "text": "新款连衣裙" }, "dataset_id": "106265704", "page_number": 1, "page_size": 20, "sort_by": "create_at", "sort_order": "desc" }
{ "query": { "text": "手机" }, "dataset_id": "106265704", "page_number": 1, "page_size": 20, "sort_by": "product.sales_volume", "sort_order": "desc" }
curl -X POST 'https://aisearch.cn-beijing.volces.com/api/v1/application/${application_id}/search' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <API Key>' \ -d '{ "query": { "text": "女鞋 春夏" }, "dataset_id": "106265704", "page_number": 1, "page_size": 20, "sort_by": "price", "sort_order": "asc", "filter": { "op": "must", "field": "status", "conds": [1] } }'
说明
完整接口使用说明详见:API参考 > Search-搜索