golang/client/client.go (807 lines of code) (raw):

// This file is auto-generated, don't edit it. Thanks. /** * */ package client import ( opensearchutil "github.com/alibabacloud-go/opensearch-util/service" util "github.com/alibabacloud-go/tea-utils/service" "github.com/alibabacloud-go/tea/tea" credential "github.com/aliyun/credentials-go/credentials" ) type Config struct { Endpoint *string `json:"endpoint,omitempty" xml:"endpoint,omitempty"` Protocol *string `json:"protocol,omitempty" xml:"protocol,omitempty"` Type *string `json:"type,omitempty" xml:"type,omitempty"` SecurityToken *string `json:"securityToken,omitempty" xml:"securityToken,omitempty"` AccessKeyId *string `json:"accessKeyId,omitempty" xml:"accessKeyId,omitempty"` AccessKeySecret *string `json:"accessKeySecret,omitempty" xml:"accessKeySecret,omitempty"` UserAgent *string `json:"userAgent,omitempty" xml:"userAgent,omitempty"` } func (s Config) String() string { return tea.Prettify(s) } func (s Config) GoString() string { return s.String() } func (s *Config) SetEndpoint(v string) *Config { s.Endpoint = &v return s } func (s *Config) SetProtocol(v string) *Config { s.Protocol = &v return s } func (s *Config) SetType(v string) *Config { s.Type = &v return s } func (s *Config) SetSecurityToken(v string) *Config { s.SecurityToken = &v return s } func (s *Config) SetAccessKeyId(v string) *Config { s.AccessKeyId = &v return s } func (s *Config) SetAccessKeySecret(v string) *Config { s.AccessKeySecret = &v return s } func (s *Config) SetUserAgent(v string) *Config { s.UserAgent = &v return s } type SearchQuery struct { Query *string `json:"query,omitempty" xml:"query,omitempty" require:"true"` FetchFields *string `json:"fetch_fields,omitempty" xml:"fetch_fields,omitempty"` Qp *string `json:"qp,omitempty" xml:"qp,omitempty"` Disable *string `json:"disable,omitempty" xml:"disable,omitempty"` FirstRankName *string `json:"first_rank_name,omitempty" xml:"first_rank_name,omitempty"` SecondRankName *string `json:"second_rank_name,omitempty" xml:"second_rank_name,omitempty"` UserId *string `json:"user_id,omitempty" xml:"user_id,omitempty"` Abtest *string `json:"abtest,omitempty" xml:"abtest,omitempty"` CategoryPrediction *string `json:"category_prediction,omitempty" xml:"category_prediction,omitempty"` RawQuery *string `json:"raw_query,omitempty" xml:"raw_query,omitempty"` Summary *string `json:"summary,omitempty" xml:"summary,omitempty"` } func (s SearchQuery) String() string { return tea.Prettify(s) } func (s SearchQuery) GoString() string { return s.String() } func (s *SearchQuery) SetQuery(v string) *SearchQuery { s.Query = &v return s } func (s *SearchQuery) SetFetchFields(v string) *SearchQuery { s.FetchFields = &v return s } func (s *SearchQuery) SetQp(v string) *SearchQuery { s.Qp = &v return s } func (s *SearchQuery) SetDisable(v string) *SearchQuery { s.Disable = &v return s } func (s *SearchQuery) SetFirstRankName(v string) *SearchQuery { s.FirstRankName = &v return s } func (s *SearchQuery) SetSecondRankName(v string) *SearchQuery { s.SecondRankName = &v return s } func (s *SearchQuery) SetUserId(v string) *SearchQuery { s.UserId = &v return s } func (s *SearchQuery) SetAbtest(v string) *SearchQuery { s.Abtest = &v return s } func (s *SearchQuery) SetCategoryPrediction(v string) *SearchQuery { s.CategoryPrediction = &v return s } func (s *SearchQuery) SetRawQuery(v string) *SearchQuery { s.RawQuery = &v return s } func (s *SearchQuery) SetSummary(v string) *SearchQuery { s.Summary = &v return s } type SearchRequestModel struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` Query *SearchQuery `json:"query,omitempty" xml:"query,omitempty" require:"true"` } func (s SearchRequestModel) String() string { return tea.Prettify(s) } func (s SearchRequestModel) GoString() string { return s.String() } func (s *SearchRequestModel) SetHeaders(v map[string]*string) *SearchRequestModel { s.Headers = v return s } func (s *SearchRequestModel) SetQuery(v *SearchQuery) *SearchRequestModel { s.Query = v return s } type SearchResponseModel struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` Body *SearchResponse `json:"body,omitempty" xml:"body,omitempty" require:"true"` } func (s SearchResponseModel) String() string { return tea.Prettify(s) } func (s SearchResponseModel) GoString() string { return s.String() } func (s *SearchResponseModel) SetHeaders(v map[string]*string) *SearchResponseModel { s.Headers = v return s } func (s *SearchResponseModel) SetBody(v *SearchResponse) *SearchResponseModel { s.Body = v return s } type SuggestQuery struct { Query *string `json:"query,omitempty" xml:"query,omitempty" require:"true"` Hit *int `json:"hit,omitempty" xml:"hit,omitempty" minimum:"1" maximum:"10"` } func (s SuggestQuery) String() string { return tea.Prettify(s) } func (s SuggestQuery) GoString() string { return s.String() } func (s *SuggestQuery) SetQuery(v string) *SuggestQuery { s.Query = &v return s } func (s *SuggestQuery) SetHit(v int) *SuggestQuery { s.Hit = &v return s } type SuggestRequestModel struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` Query *SuggestQuery `json:"query,omitempty" xml:"query,omitempty" require:"true"` } func (s SuggestRequestModel) String() string { return tea.Prettify(s) } func (s SuggestRequestModel) GoString() string { return s.String() } func (s *SuggestRequestModel) SetHeaders(v map[string]*string) *SuggestRequestModel { s.Headers = v return s } func (s *SuggestRequestModel) SetQuery(v *SuggestQuery) *SuggestRequestModel { s.Query = v return s } type SuggestResponseModel struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` Body *SuggestionResponse `json:"body,omitempty" xml:"body,omitempty" require:"true"` } func (s SuggestResponseModel) String() string { return tea.Prettify(s) } func (s SuggestResponseModel) GoString() string { return s.String() } func (s *SuggestResponseModel) SetHeaders(v map[string]*string) *SuggestResponseModel { s.Headers = v return s } func (s *SuggestResponseModel) SetBody(v *SuggestionResponse) *SuggestResponseModel { s.Body = v return s } type PushDocumentRequestModel struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` Body []*Document `json:"body,omitempty" xml:"body,omitempty" require:"true" type:"Repeated"` } func (s PushDocumentRequestModel) String() string { return tea.Prettify(s) } func (s PushDocumentRequestModel) GoString() string { return s.String() } func (s *PushDocumentRequestModel) SetHeaders(v map[string]*string) *PushDocumentRequestModel { s.Headers = v return s } func (s *PushDocumentRequestModel) SetBody(v []*Document) *PushDocumentRequestModel { s.Body = v return s } type PushDocumentResponseModel struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` Body *Response `json:"body,omitempty" xml:"body,omitempty" require:"true"` } func (s PushDocumentResponseModel) String() string { return tea.Prettify(s) } func (s PushDocumentResponseModel) GoString() string { return s.String() } func (s *PushDocumentResponseModel) SetHeaders(v map[string]*string) *PushDocumentResponseModel { s.Headers = v return s } func (s *PushDocumentResponseModel) SetBody(v *Response) *PushDocumentResponseModel { s.Body = v return s } type CollectDataRequestModel struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` Body []*Behavior `json:"body,omitempty" xml:"body,omitempty" require:"true" type:"Repeated"` } func (s CollectDataRequestModel) String() string { return tea.Prettify(s) } func (s CollectDataRequestModel) GoString() string { return s.String() } func (s *CollectDataRequestModel) SetHeaders(v map[string]*string) *CollectDataRequestModel { s.Headers = v return s } func (s *CollectDataRequestModel) SetBody(v []*Behavior) *CollectDataRequestModel { s.Body = v return s } type CollectDataResponseModel struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` Body *Response `json:"body,omitempty" xml:"body,omitempty" require:"true"` } func (s CollectDataResponseModel) String() string { return tea.Prettify(s) } func (s CollectDataResponseModel) GoString() string { return s.String() } func (s *CollectDataResponseModel) SetHeaders(v map[string]*string) *CollectDataResponseModel { s.Headers = v return s } func (s *CollectDataResponseModel) SetBody(v *Response) *CollectDataResponseModel { s.Body = v return s } /** * */ type SearchResponse struct { Status *string `json:"status,omitempty" xml:"status,omitempty"` RequestId *string `json:"request_id,omitempty" xml:"request_id,omitempty"` Result *SearchResult `json:"result,omitempty" xml:"result,omitempty"` Errors []*Error `json:"errors,omitempty" xml:"errors,omitempty" type:"Repeated"` } func (s SearchResponse) String() string { return tea.Prettify(s) } func (s SearchResponse) GoString() string { return s.String() } func (s *SearchResponse) SetStatus(v string) *SearchResponse { s.Status = &v return s } func (s *SearchResponse) SetRequestId(v string) *SearchResponse { s.RequestId = &v return s } func (s *SearchResponse) SetResult(v *SearchResult) *SearchResponse { s.Result = v return s } func (s *SearchResponse) SetErrors(v []*Error) *SearchResponse { s.Errors = v return s } /** * 实际返回结果,包括查询耗时searchtime、引擎总结果数total、本次请求返回结果数num、本次查询最大返回结果数viewtotal、查询结果items、统计结果facet等信息 */ type SearchResult struct { Searchtime *float64 `json:"searchtime,omitempty" xml:"searchtime,omitempty"` Total *int `json:"total,omitempty" xml:"total,omitempty"` Viewtotal *int `json:"viewtotal,omitempty" xml:"viewtotal,omitempty"` Num *int `json:"num,omitempty" xml:"num,omitempty"` Items []map[string]interface{} `json:"items,omitempty" xml:"items,omitempty" type:"Repeated"` Facet []*SearchResultFacet `json:"facet,omitempty" xml:"facet,omitempty" type:"Repeated"` } func (s SearchResult) String() string { return tea.Prettify(s) } func (s SearchResult) GoString() string { return s.String() } func (s *SearchResult) SetSearchtime(v float64) *SearchResult { s.Searchtime = &v return s } func (s *SearchResult) SetTotal(v int) *SearchResult { s.Total = &v return s } func (s *SearchResult) SetViewtotal(v int) *SearchResult { s.Viewtotal = &v return s } func (s *SearchResult) SetNum(v int) *SearchResult { s.Num = &v return s } func (s *SearchResult) SetItems(v []map[string]interface{}) *SearchResult { s.Items = v return s } func (s *SearchResult) SetFacet(v []*SearchResultFacet) *SearchResult { s.Facet = v return s } /** * */ type SearchResultItemFullJson struct { Fields map[string]interface{} `json:"fields,omitempty" xml:"fields,omitempty"` VariableValue map[string]interface{} `json:"variableValue,omitempty" xml:"variableValue,omitempty"` SortExprValues []*int `json:"sortExprValues,omitempty" xml:"sortExprValues,omitempty" type:"Repeated"` } func (s SearchResultItemFullJson) String() string { return tea.Prettify(s) } func (s SearchResultItemFullJson) GoString() string { return s.String() } func (s *SearchResultItemFullJson) SetFields(v map[string]interface{}) *SearchResultItemFullJson { s.Fields = v return s } func (s *SearchResultItemFullJson) SetVariableValue(v map[string]interface{}) *SearchResultItemFullJson { s.VariableValue = v return s } func (s *SearchResultItemFullJson) SetSortExprValues(v []*int) *SearchResultItemFullJson { s.SortExprValues = v return s } /** * */ type SearchResultFacet struct { Key *string `json:"key,omitempty" xml:"key,omitempty"` Items []*SearchResultFacetItems `json:"items,omitempty" xml:"items,omitempty" type:"Repeated"` } func (s SearchResultFacet) String() string { return tea.Prettify(s) } func (s SearchResultFacet) GoString() string { return s.String() } func (s *SearchResultFacet) SetKey(v string) *SearchResultFacet { s.Key = &v return s } func (s *SearchResultFacet) SetItems(v []*SearchResultFacetItems) *SearchResultFacet { s.Items = v return s } type SearchResultFacetItems struct { Value *string `json:"value,omitempty" xml:"value,omitempty"` Count *int `json:"count,omitempty" xml:"count,omitempty"` } func (s SearchResultFacetItems) String() string { return tea.Prettify(s) } func (s SearchResultFacetItems) GoString() string { return s.String() } func (s *SearchResultFacetItems) SetValue(v string) *SearchResultFacetItems { s.Value = &v return s } func (s *SearchResultFacetItems) SetCount(v int) *SearchResultFacetItems { s.Count = &v return s } /** * */ type Error struct { Code *int `json:"code,omitempty" xml:"code,omitempty"` Message *string `json:"message,omitempty" xml:"message,omitempty"` } func (s Error) String() string { return tea.Prettify(s) } func (s Error) GoString() string { return s.String() } func (s *Error) SetCode(v int) *Error { s.Code = &v return s } func (s *Error) SetMessage(v string) *Error { s.Message = &v return s } /** * */ type Document struct { Cmd *string `json:"cmd,omitempty" xml:"cmd,omitempty" require:"true"` Timestamp *int `json:"timestamp,omitempty" xml:"timestamp,omitempty"` Fields map[string]interface{} `json:"fields,omitempty" xml:"fields,omitempty" require:"true"` } func (s Document) String() string { return tea.Prettify(s) } func (s Document) GoString() string { return s.String() } func (s *Document) SetCmd(v string) *Document { s.Cmd = &v return s } func (s *Document) SetTimestamp(v int) *Document { s.Timestamp = &v return s } func (s *Document) SetFields(v map[string]interface{}) *Document { s.Fields = v return s } /** * */ type Behavior struct { Cmd *string `json:"cmd,omitempty" xml:"cmd,omitempty" require:"true"` Fields map[string]interface{} `json:"fields,omitempty" xml:"fields,omitempty" require:"true"` } func (s Behavior) String() string { return tea.Prettify(s) } func (s Behavior) GoString() string { return s.String() } func (s *Behavior) SetCmd(v string) *Behavior { s.Cmd = &v return s } func (s *Behavior) SetFields(v map[string]interface{}) *Behavior { s.Fields = v return s } /** * object_id=pk,object_type=ops_search_doc,ops_request_misc=xxx */ type Event2001Args struct { ObjectId *string `json:"object_id,omitempty" xml:"object_id,omitempty"` ObjectType *string `json:"object_type,omitempty" xml:"object_type,omitempty"` OpsRequestMisc *string `json:"ops_request_misc,omitempty" xml:"ops_request_misc,omitempty"` } func (s Event2001Args) String() string { return tea.Prettify(s) } func (s Event2001Args) GoString() string { return s.String() } func (s *Event2001Args) SetObjectId(v string) *Event2001Args { s.ObjectId = &v return s } func (s *Event2001Args) SetObjectType(v string) *Event2001Args { s.ObjectType = &v return s } func (s *Event2001Args) SetOpsRequestMisc(v string) *Event2001Args { s.OpsRequestMisc = &v return s } /** * */ type SuggestionResponse struct { RequestId *string `json:"request_id,omitempty" xml:"request_id,omitempty"` Searchtime *float64 `json:"searchtime,omitempty" xml:"searchtime,omitempty"` Suggestions []*SuggestionResponseSuggestions `json:"suggestions,omitempty" xml:"suggestions,omitempty" type:"Repeated"` Errors []*Error `json:"errors,omitempty" xml:"errors,omitempty" type:"Repeated"` } func (s SuggestionResponse) String() string { return tea.Prettify(s) } func (s SuggestionResponse) GoString() string { return s.String() } func (s *SuggestionResponse) SetRequestId(v string) *SuggestionResponse { s.RequestId = &v return s } func (s *SuggestionResponse) SetSearchtime(v float64) *SuggestionResponse { s.Searchtime = &v return s } func (s *SuggestionResponse) SetSuggestions(v []*SuggestionResponseSuggestions) *SuggestionResponse { s.Suggestions = v return s } func (s *SuggestionResponse) SetErrors(v []*Error) *SuggestionResponse { s.Errors = v return s } type SuggestionResponseSuggestions struct { Suggestion *string `json:"suggestion,omitempty" xml:"suggestion,omitempty"` } func (s SuggestionResponseSuggestions) String() string { return tea.Prettify(s) } func (s SuggestionResponseSuggestions) GoString() string { return s.String() } func (s *SuggestionResponseSuggestions) SetSuggestion(v string) *SuggestionResponseSuggestions { s.Suggestion = &v return s } /** * */ type Response struct { Status *string `json:"status,omitempty" xml:"status,omitempty"` RequestId *string `json:"request_id,omitempty" xml:"request_id,omitempty"` Errors []*Error `json:"errors,omitempty" xml:"errors,omitempty" type:"Repeated"` } func (s Response) String() string { return tea.Prettify(s) } func (s Response) GoString() string { return s.String() } func (s *Response) SetStatus(v string) *Response { s.Status = &v return s } func (s *Response) SetRequestId(v string) *Response { s.RequestId = &v return s } func (s *Response) SetErrors(v []*Error) *Response { s.Errors = v return s } type Client struct { Endpoint *string Protocol *string UserAgent *string Credential credential.Credential } func NewClient(config *Config) (*Client, error) { client := new(Client) err := client.Init(config) return client, err } func (client *Client) Init(config *Config) (_err error) { if tea.BoolValue(util.IsUnset(tea.ToMap(config))) { _err = tea.NewSDKError(map[string]interface{}{ "name": "ParameterMissing", "message": "'config' can not be unset", }) return _err } if tea.BoolValue(util.Empty(config.Type)) { config.Type = tea.String("access_key") } credentialConfig := &credential.Config{ AccessKeyId: config.AccessKeyId, Type: config.Type, AccessKeySecret: config.AccessKeySecret, SecurityToken: config.SecurityToken, } client.Credential, _err = credential.NewCredential(credentialConfig) if _err != nil { return _err } client.Endpoint = config.Endpoint client.Protocol = config.Protocol client.UserAgent = config.UserAgent return nil } func (client *Client) _request(method *string, pathname *string, query map[string]interface{}, headers map[string]*string, body interface{}, runtime *util.RuntimeOptions) (_result map[string]interface{}, _err error) { _err = tea.Validate(runtime) if _err != nil { return _result, _err } _runtime := map[string]interface{}{ "timeouted": "retry", "readTimeout": tea.IntValue(runtime.ReadTimeout), "connectTimeout": tea.IntValue(runtime.ConnectTimeout), "httpProxy": tea.StringValue(runtime.HttpProxy), "httpsProxy": tea.StringValue(runtime.HttpsProxy), "noProxy": tea.StringValue(runtime.NoProxy), "maxIdleConns": tea.IntValue(runtime.MaxIdleConns), "retry": map[string]interface{}{ "retryable": tea.BoolValue(runtime.Autoretry), "maxAttempts": tea.IntValue(util.DefaultNumber(runtime.MaxAttempts, tea.Int(3))), }, "backoff": map[string]interface{}{ "policy": tea.StringValue(util.DefaultString(runtime.BackoffPolicy, tea.String("no"))), "period": tea.IntValue(util.DefaultNumber(runtime.BackoffPeriod, tea.Int(1))), }, "ignoreSSL": tea.BoolValue(runtime.IgnoreSSL), } _resp := make(map[string]interface{}) for _retryTimes := 0; tea.BoolValue(tea.AllowRetry(_runtime["retry"], tea.Int(_retryTimes))); _retryTimes++ { if _retryTimes > 0 { _backoffTime := tea.GetBackoffTime(_runtime["backoff"], tea.Int(_retryTimes)) if tea.IntValue(_backoffTime) > 0 { tea.Sleep(_backoffTime) } } _resp, _err = func() (map[string]interface{}, error) { request_ := tea.NewRequest() accesskeyId, _err := client.GetAccessKeyId() if _err != nil { return _result, _err } accessKeySecret, _err := client.GetAccessKeySecret() if _err != nil { return _result, _err } request_.Protocol = util.DefaultString(client.Protocol, tea.String("HTTP")) request_.Method = method request_.Pathname = pathname request_.Headers = tea.Merge(map[string]*string{ "user-agent": client.GetUserAgent(), "Date": opensearchutil.GetDate(), "host": util.DefaultString(client.Endpoint, tea.String("opensearch-cn-hangzhou.aliyuncs.com")), "X-Opensearch-Nonce": util.GetNonce(), }, headers) if !tea.BoolValue(util.IsUnset(query)) { request_.Query = util.StringifyMapValue(query) } if !tea.BoolValue(util.IsUnset(body)) { reqBody := util.ToJSONString(body) request_.Headers["Content-MD5"] = opensearchutil.GetContentMD5(reqBody) request_.Headers["Content-Type"] = tea.String("application/json") request_.Body = tea.ToReader(reqBody) } request_.Headers["Authorization"] = opensearchutil.GetSignature(request_, accesskeyId, accessKeySecret) response_, _err := tea.DoRequest(request_, _runtime) if _err != nil { return _result, _err } objStr, _err := util.ReadAsString(response_.Body) if _err != nil { return _result, _err } if tea.BoolValue(util.Is4xx(response_.StatusCode)) || tea.BoolValue(util.Is5xx(response_.StatusCode)) { _err = tea.NewSDKError(map[string]interface{}{ "message": tea.StringValue(response_.StatusMessage), "data": tea.StringValue(objStr), "code": tea.IntValue(response_.StatusCode), }) return _result, _err } obj := util.ParseJSON(objStr) res := util.AssertAsMap(obj) _result = make(map[string]interface{}) _err = tea.Convert(map[string]interface{}{ "body": res, "headers": response_.Headers, }, &_result) return _result, _err }() if !tea.BoolValue(tea.Retryable(_err)) { break } } return _resp, _err } /** * 系统提供了丰富的搜索语法以满足用户各种场景下的搜索需求。 */ func (client *Client) SearchEx(appName *string, request *SearchRequestModel, runtime *util.RuntimeOptions) (_result *SearchResponseModel, _err error) { _result = &SearchResponseModel{} _body, _err := client._request(tea.String("GET"), tea.String("/v3/openapi/apps/"+tea.StringValue(appName)+"/search"), tea.ToMap(request.Query), request.Headers, nil, runtime) if _err != nil { return _result, _err } _err = tea.Convert(_body, &_result) return _result, _err } /** * 系统提供了丰富的搜索语法以满足用户各种场景下的搜索需求。 */ func (client *Client) Search(appName *string, request *SearchRequestModel) (_result *SearchResponseModel, _err error) { runtime := &util.RuntimeOptions{ ConnectTimeout: tea.Int(5000), ReadTimeout: tea.Int(10000), Autoretry: tea.Bool(false), IgnoreSSL: tea.Bool(false), MaxIdleConns: tea.Int(50), } _result = &SearchResponseModel{} _body, _err := client.SearchEx(appName, request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } /** * 下拉提示是搜索服务的基础功能,在用户输入查询词的过程中,智能推荐候选query,减少用户输入,帮助用户尽快找到想要的内容。 */ func (client *Client) SuggestEx(appName *string, modelName *string, request *SuggestRequestModel, runtime *util.RuntimeOptions) (_result *SuggestResponseModel, _err error) { _result = &SuggestResponseModel{} _body, _err := client._request(tea.String("GET"), tea.String("/v3/openapi/apps/"+tea.StringValue(appName)+"/suggest/"+tea.StringValue(modelName)+"/search"), tea.ToMap(request.Query), request.Headers, nil, runtime) if _err != nil { return _result, _err } _err = tea.Convert(_body, &_result) return _result, _err } /** * 下拉提示是搜索服务的基础功能,在用户输入查询词的过程中,智能推荐候选query,减少用户输入,帮助用户尽快找到想要的内容。 */ func (client *Client) Suggest(appName *string, modelName *string, request *SuggestRequestModel) (_result *SuggestResponseModel, _err error) { runtime := &util.RuntimeOptions{ ConnectTimeout: tea.Int(5000), ReadTimeout: tea.Int(10000), Autoretry: tea.Bool(false), IgnoreSSL: tea.Bool(false), MaxIdleConns: tea.Int(50), } _result = &SuggestResponseModel{} _body, _err := client.SuggestEx(appName, modelName, request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } /** * 支持新增、更新、删除 等操作,以及对应批量操作 */ func (client *Client) PushDocumentEx(appName *string, tableName *string, request *PushDocumentRequestModel, runtime *util.RuntimeOptions) (_result *PushDocumentResponseModel, _err error) { _result = &PushDocumentResponseModel{} _body, _err := client._request(tea.String("POST"), tea.String("/v3/openapi/apps/"+tea.StringValue(appName)+"/"+tea.StringValue(tableName)+"/actions/bulk"), nil, request.Headers, request.Body, runtime) if _err != nil { return _result, _err } _err = tea.Convert(_body, &_result) return _result, _err } /** * 支持新增、更新、删除 等操作,以及对应批量操作 */ func (client *Client) PushDocument(appName *string, tableName *string, request *PushDocumentRequestModel) (_result *PushDocumentResponseModel, _err error) { runtime := &util.RuntimeOptions{ ConnectTimeout: tea.Int(5000), ReadTimeout: tea.Int(10000), Autoretry: tea.Bool(false), IgnoreSSL: tea.Bool(false), MaxIdleConns: tea.Int(50), } _result = &PushDocumentResponseModel{} _body, _err := client.PushDocumentEx(appName, tableName, request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } /** * 为了给客户提供更高质量的搜索效果,opensearch目前支持客户通过server端上传点击数据。 */ func (client *Client) CollectDataEx(appName *string, collectorName *string, request *CollectDataRequestModel, runtime *util.RuntimeOptions) (_result *CollectDataResponseModel, _err error) { _result = &CollectDataResponseModel{} _body, _err := client._request(tea.String("POST"), tea.String("/v3/openapi/app-groups/"+tea.StringValue(appName)+"/data-collections/"+tea.StringValue(collectorName)+"/actions/bulk"), nil, request.Headers, request.Body, runtime) if _err != nil { return _result, _err } _err = tea.Convert(_body, &_result) return _result, _err } /** * 为了给客户提供更高质量的搜索效果,opensearch目前支持客户通过server端上传点击数据。 */ func (client *Client) CollectData(appName *string, collectorName *string, request *CollectDataRequestModel) (_result *CollectDataResponseModel, _err error) { runtime := &util.RuntimeOptions{ ConnectTimeout: tea.Int(5000), ReadTimeout: tea.Int(10000), Autoretry: tea.Bool(false), IgnoreSSL: tea.Bool(false), MaxIdleConns: tea.Int(50), } _result = &CollectDataResponseModel{} _body, _err := client.CollectDataEx(appName, collectorName, request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } func (client *Client) SetUserAgent(userAgent *string) { client.UserAgent = userAgent } func (client *Client) AppendUserAgent(userAgent *string) { client.UserAgent = tea.String(tea.StringValue(client.UserAgent) + " " + tea.StringValue(userAgent)) } func (client *Client) GetUserAgent() (_result *string) { userAgent := util.GetUserAgent(client.UserAgent) _result = userAgent return _result } func (client *Client) GetAccessKeyId() (_result *string, _err error) { if tea.BoolValue(util.IsUnset(client.Credential)) { return _result, _err } accessKeyId, _err := client.Credential.GetAccessKeyId() if _err != nil { return _result, _err } _result = accessKeyId return _result, _err } func (client *Client) GetAccessKeySecret() (_result *string, _err error) { if tea.BoolValue(util.IsUnset(client.Credential)) { return _result, _err } secret, _err := client.Credential.GetAccessKeySecret() if _err != nil { return _result, _err } _result = secret return _result, _err }