datai/datai-scenes/datai-scene-salesforce/docs/api-docs/partner-api/PartnerQueryController/004-search.md
3111404962 9ec6e3ae66 docs: 为 datai-salesforce-partner 模块创建完整的 API 文档
- 为 6 个 Controller 创建了 28 个接口文档
  * PartnerAdvancedController: 5 个接口
  * PartnerBatchController: 4 个接口
  * PartnerConnectionController: 3 个接口
  * PartnerCrudController: 6 个接口
  * PartnerDescribeController: 6 个接口
  * PartnerQueryController: 4 个接口
- 创建 Partner API 接口文档索引 (index.md) 作为唯一真源
- 每个接口文档包含完整的请求/响应参数、错误码和使用说明
- 文档位置: docs/api-docs/partner-api/
2026-02-02 17:13:00 +08:00

5.2 KiB
Raw Permalink Blame History

执行 SOSL 搜索

接口概述

执行 SOSL (Salesforce Object Search Language) 全文搜索,在多个对象中快速查找匹配的记录。

基本信息

属性
接口名称 执行 SOSL 搜索
接口路径 /partner/search
请求方法 POST
Content-Type application/json
需要认证
所属模块 datai-salesforce-partner

请求参数

请求体 (Request Body)

参数名 类型 必填 说明 示例值
sosl String SOSL 搜索语句 FIND {Acme} IN ALL FIELDS RETURNING Account(Id, Name), Contact(Id, Name)

请求示例

{
  "sosl": "FIND {Acme} IN ALL FIELDS RETURNING Account(Id, Name, BillingCity), Contact(Id, FirstName, LastName, Email)"
}

响应参数

响应体 (Response Body)

参数名 类型 说明
code Integer 响应状态码200 表示成功
msg String 响应消息
data Object 响应数据

data 对象结构

参数名 类型 说明
searchRecords Array 搜索结果列表
success Boolean 是否成功
errors Array 错误信息列表

searchRecords 对象结构

参数名 类型 说明
objectName String 对象名称
records Array 该对象的匹配记录列表

响应示例

成功响应

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "searchRecords": [
      {
        "objectName": "Account",
        "records": [
          {
            "Id": "001xx000003DHb2AAG",
            "Name": "Acme Corporation",
            "BillingCity": "San Francisco"
          },
          {
            "Id": "001xx000003DHb3AAH",
            "Name": "Acme Solutions",
            "BillingCity": "New York"
          }
        ]
      },
      {
        "objectName": "Contact",
        "records": [
          {
            "Id": "003xx000003DHb2AAG",
            "FirstName": "John",
            "LastName": "Acme",
            "Email": "john.acme@example.com"
          }
        ]
      }
    ],
    "success": true,
    "errors": []
  }
}

错误响应

{
  "code": 500,
  "msg": "SOSL 搜索失败: Invalid search query",
  "data": null
}

错误码

错误码 说明 处理建议
400 请求参数错误 检查 sosl 语句格式是否正确
401 认证失败 检查 Salesforce 认证信息是否有效
500 服务器内部错误 检查 SOSL 语句语法是否正确

使用说明

SOSL 语法结构

FIND {搜索词} IN {搜索范围} RETURNING {对象列表}

搜索范围选项

搜索范围 说明
ALL FIELDS 所有可搜索字段
NAME FIELDS 名称字段
EMAIL FIELDS 邮箱字段
PHONE FIELDS 电话字段
SIDEBAR FIELDS 侧边栏字段

SOSL 语法示例

  1. 基本搜索
{
  "sosl": "FIND {Acme} IN ALL FIELDS RETURNING Account(Id, Name)"
}
  1. 多对象搜索
{
  "sosl": "FIND {Technology} IN ALL FIELDS RETURNING Account(Id, Name, Industry), Contact(Id, FirstName, LastName), Opportunity(Id, Name, Amount)"
}
  1. 指定搜索范围
{
  "sosl": "FIND {john@example.com} IN EMAIL FIELDS RETURNING Contact(Id, FirstName, LastName, Email), Lead(Id, FirstName, LastName, Email)"
}
  1. 限制结果数量
{
  "sosl": "FIND {Acme} IN NAME FIELDS RETURNING Account(Id, Name, BillingCity LIMIT 10), Contact(Id, FirstName, LastName LIMIT 5)"
}
  1. 带条件的搜索
{
  "sosl": "FIND {Technology} IN ALL FIELDS RETURNING Account(Id, Name, Industry WHERE Industry = 'Technology' LIMIT 10)"
}
  1. 短语搜索
{
  "sosl": "FIND {\"San Francisco\"} IN ALL FIELDS RETURNING Account(Id, Name, BillingCity)"
}
  1. 通配符搜索
{
  "sosl": "FIND {Acme*} IN ALL FIELDS RETURNING Account(Id, Name)"
}

SOSL 与 SOQL 的区别

特性 SOSL SOQL
搜索类型 全文搜索 精确查询
搜索范围 多个对象 单个对象
搜索字段 可搜索字段 任意字段
性能 适合模糊搜索 适合精确查询
使用场景 全局搜索、快速查找 数据报表、复杂查询

注意事项

  1. 搜索词限制

    • 搜索词长度至少 2 个字符
    • 不区分大小写
    • 支持通配符 (*)
  2. 结果限制

    • 每个对象最多返回 200 条记录
    • 总记录数限制为 2000 条
    • 建议使用 LIMIT 限制结果数量
  3. 性能优化

    • 避免使用过于宽泛的搜索词
    • 合理使用搜索范围缩小结果集
    • 限制返回的对象和字段数量
  4. 特殊字符

    • 短语搜索需要使用双引号
    • 转义特殊字符:, *, ", '
    • 空格表示 AND 关系

相关接口

更新日志

版本 日期 更新内容 作者
1.0.0 2026-01-30 初始版本 AI Assistant