zincsearch / sdk-go-zincsearch

Go SDK Client for ZincSearch
https://docs.zincsearch.com
Apache License 2.0
33 stars 5 forks source link
zinc zincsearch

Go API client for client

Zinc Search engine API documents https://docs.zincsearch.com

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import client "github.com/zinclabs/sdk-go-zincsearch"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value sw.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), client.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), client.ContextServerVariables, map[string]string{
    "basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices and sw.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), client.ContextOperationServerIndices, map[string]int{
    "{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), client.ContextOperationServerVariables, map[string]map[string]string{
    "{classname}Service.{nickname}": {
        "port": "8443",
    },
})

Documentation for API Endpoints

All URIs are relative to http://localhost:4080

Class Method HTTP request Description
Default Healthz Get /healthz Get healthz
Default Version Get /version Get version
Document Bulk Post /api/_bulk Bulk documents
Document Bulkv2 Post /api/_bulkv2 Bulkv2 documents
Document Delete Delete /api/{index}/_doc/{id} Delete document
Document ESBulk Post /es/_bulk ES bulk documents
Document Index Post /api/{index}/_doc Create or update document
Document IndexWithID Put /api/{index}/_doc/{id} Create or update document with id
Document Multi Post /api/{index}/_multi Multi documents
Document Update Post /api/{index}/_update/{id} Update document with id
Index AddOrRemoveESAlias Post /es/_aliases Add or remove index alias for compatible ES
Index Analyze Post /api/_analyze Analyze
Index AnalyzeIndex Post /api/{index}/_analyze Analyze
Index Create Post /api/index Create index
Index CreateTemplate Post /es/_index_template Create update index template
Index Delete Delete /api/index/{index} Delete index
Index DeleteTemplate Delete /es/_index_template/{name} Delete template
Index ESCreateIndex Put /es/{index} Create index for compatible ES
Index ESGetMapping Get /es/{index}/_mapping Get index mappings for compatible ES
Index EsExists Head /es/{index} Checks if the index exists for compatible ES
Index Exists Head /api/index/{index} Checks if the index exists
Index GetESAliases Get /es/{target}/_alias/{target_alias} Get index alias for compatible ES
Index GetIndex Get /api/index/{index} Get index metadata
Index GetMapping Get /api/{index}/_mapping Get index mappings
Index GetSettings Get /api/{index}/_settings Get index settings
Index GetTemplate Get /es/_index_template/{name} Get index template
Index IndexNameList Get /api/index_name List index Name
Index List Get /api/index List indexes
Index ListTemplates Get /es/_index_template List index teplates
Index Refresh Post /api/index/{index}/refresh Resfresh index
Index SetMapping Put /api/{index}/_mapping Set index mappings
Index SetSettings Put /api/{index}/_settings Set index Settings
Index UpdateTemplate Put /es/_index_template/{name} Create update index template
Search DeleteByQuery Post /es/{index}/_delete_by_query Searches the index and deletes all matched documents
Search MSearch Post /es/_msearch Search V2 MultipleSearch for compatible ES
Search Search Post /es/{index}/_search Search V2 DSL for compatible ES
Search SearchV1 Post /api/{index}/_search Search V1
User Create Post /api/user Create user
User Delete Delete /api/user/{id} Delete user
User List Get /api/user List user
User Login Post /api/login Login
User Update Put /api/user Update user

Documentation For Models

Documentation For Authorization

basicAuth

Example

auth := context.WithValue(context.Background(), client.ContextBasicAuth, client.BasicAuth{
    UserName: "username",
    Password: "password",
})
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

Author