搜索Demo(基本)

// 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>"),
        AccessKeyId:      tea.String("<AccessKeyId>"),
        AccessKeySecret:  tea.String("<AccessKeySecret>"),
    }

    // New  一个client, 用以发送请求.
    client, _clientErr := opensearch.NewClient(config)

    // 如果 NewClient 过程中出现异常. 则 返回 _clientErr 且输出 错误信息.
    if _clientErr != nil {
        fmt.Println(_clientErr)
        return
    }

    // requestParams 信息 
    requestParams := map[string]interface{}{
        "query":"config=start:0,hit:50,format:fulljson&&query=default:'<words>'",
        "second_rank_name":"<rank_name>",
        "first_rank_name": "<rank_name>",
      	// 设置搜索结果飘红摘要信息summary如下:
				"summary": "summary_field:description,summary_ellipsis:...,summary_snipped:1,summary_len:50,summary_element_prefix:<abc>,summary_element_postfix:</abc>",
		
    }

    // 请求发送的配置参数. 用以请求配置及连接池配置.
    runtime := &util.RuntimeOptions{
        ConnectTimeout: tea.Int(5000),
        ReadTimeout:    tea.Int(10000),
        Autoretry:      tea.Bool(false),
        IgnoreSSL:      tea.Bool(false),
        MaxIdleConns:   tea.Int(50),
    }

    // 搜索接口需要提供 appName.
    // App 可以是 app 的版本信息. 也可以是 app 名称.
    appName := "<appName>"

    // 发送请求的方法调用.
    response, _requestErr := client.Request(
        tea.String("GET"),
        tea.String("/v3/openapi/apps/"+appName+"/search"),
        requestParams,
        nil,
        nil,
        runtime)

    // 如果 发送请求 过程中出现异常. 则 返回 _requestErr 且输出 错误信息.
    if _requestErr != nil {
        fmt.Println(_requestErr)
        return
    }

    // 输出正常返回的 response 内容.
    fmt.Println(response)
}
阿里云首页 智能开放搜索 OpenSearch 相关技术圈