You need to enable JavaScript to run this app.
导航
对搜索返回列表进行排序
最近更新时间:2025.10.14 23:37:02首次发布时间:2025.10.14 23:37:02
复制全文
我的收藏
有用
有用
无用
无用

搜索列表排序功能概述

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": 排序顺序
}'

参数说明

sort_by(排序字段)

  • 参数说明:指定用于排序的字段名称
  • 是否必选:否
  • 支持的字段类型
    支持基础类型的字段排序:int32int64floatboolstring
  • 格式要求
    • 字段必须存在于数据集中
    • 对于嵌套对象,使用点号分隔,如:"product.price""user.rating"

sort_order(排序顺序)

  • 参数说明:指定排序的方向
  • 是否必选:否(默认为降序)
  • 可选值
    • "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-搜索