下拉提示Demo

配置环境变量

配置环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

重要
  • 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维,具体操作,请参见创建RAM用户

  • 创建AccessKey ID和AccessKey Secret,请参考创建AccessKey

  • 如果您使用的是RAM用户的AccessKey,请确保主账号已授权AliyunServiceRoleForOpenSearch服务关联角色,请参考OpenSearch-行业算法版服务关联角色,相关文档参考访问鉴权规则

  • 请不要将AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。

  • LinuxmacOS系统配置方法:

    执行以下命令,其中, <access_key_id>需替换为您RAM用户的AccessKey ID,<access_key_secret>替换为您RAM用户的AccessKey Secret。

    export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> 
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系统配置方法

    1. 新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。

    2. 重启Windows系统生效。

代码示例

// This file is auto-generated, don't edit it. Thanks.
package main

import (
    "fmt"
    util "github.com/alibabacloud-go/tea-utils/service"
    "github.com/alibabacloud-go/tea/tea"
    opensearch "main/client"
)

func main() {
    // 创建请求用客户端实例
    // Endpoint 为 要访问服务的区域域名.
    // AccessKeyId 及AccessKeySecret 用于构造鉴权信息.
    config := &opensearch.Config{
        Endpoint:        tea.String("<Endpoint>"),
      
        // 用户识别信息
        // 从环境变量读取配置的AccessKey ID和AccessKey Secret,
        // 运行代码示例前必须先配置环境变量,参考文档上面“配置环境变量”步骤
        // 替换对应的access key id
        AccessKeyId:     tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")),
        AccessKeySecret: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")),
    }
    // New  一个client, 用以发送请求.
    client, _clientErr := opensearch.NewClient(config)

    // 如果 NewClient 过程中出现异常. 则 返回 _client_err 且输出 错误信息.
    if _clientErr != nil {
        fmt.Println(_clientErr)
        return
    }
    // 请求发送的配置参数. 用以请求配置及连接池配置.
    runtime := &util.RuntimeOptions{
        ConnectTimeout: tea.Int(5000),
        ReadTimeout:    tea.Int(10000),
        Autoretry:      tea.Bool(false),
        IgnoreSSL:      tea.Bool(false),
        MaxIdleConns:   tea.Int(50),
    }

    
    requestParams := map[string]interface{}{
        "hit":       10,
        "query": "<words>",
    }

    // 下拉提示搜索接口需要提供 推送 appName 和 modelName,
    // appName 是 app 名称.
    // modelName 是 下拉提示产出模型的模型名.
    appName :="<appName>"
    modelName :="<modelName>"


    // 发送请求的方法调用.
    response, _requestErr  := client.Request(
        tea.String("GET"),
        tea.String("/v3/openapi/apps/"+appName+"/suggest/"+modelName+"/search"),
        requestParams,
        nil,
        nil,
        runtime)
    // 如果 发送请求 过程中出现异常. 则 返回 _requestErr 且输出 错误信息.
    if _requestErr != nil {
        fmt.Println(_requestErr)
        return
    }

    // 输出正常返回的 response 内容.
    fmt.Println(response)
}
说明

自行书写 requestParams 信息 , 查询相关请求构造可参数:下拉提示