meilisearch

package module
v0.26.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2024 License: MIT Imports: 21 Imported by: 96

README ΒΆ

Meilisearch-Go

Meilisearch Go

Meilisearch | Meilisearch Cloud | Documentation | Discord | Roadmap | Website | FAQ

GitHub Workflow Status Test License Bors enabled

⚑ The Meilisearch API client written for Golang

Meilisearch Go is the Meilisearch API client for Go developers.

Meilisearch is an open-source search engine. Learn more about Meilisearch.

Table of Contents

πŸ“– Documentation

This readme contains all the documentation you need to start using this Meilisearch SDK.

For general information on how to use Meilisearchβ€”such as our API reference, tutorials, guides, and in-depth articlesβ€”refer to our main documentation website.

⚑ Supercharge your Meilisearch experience

Say goodbye to server deployment and manual updates with Meilisearch Cloud. Get started with a 14-day free trial! No credit card required.

πŸ”§ Installation

With go get in command line:

go get github.com/meilisearch/meilisearch-go

Run Meilisearch

There are many easy ways to download and run a Meilisearch instance.

For example, using the curl command in your Terminal:

# Install Meilisearch
curl -L https://install.meilisearch.com | sh

# Launch Meilisearch
./meilisearch --master-key=masterKey

NB: you can also download Meilisearch from Homebrew or APT or even run it using Docker.

πŸš€ Getting started

Add documents
package main

import (
	"fmt"
	"os"

	"github.com/meilisearch/meilisearch-go"
)

func main() {
	client := meilisearch.NewClient(meilisearch.ClientConfig{
                Host: "http://127.0.0.1:7700",
                APIKey: "masterKey",
        })
	// An index is where the documents are stored.
	index := client.Index("movies")

	// If the index 'movies' does not exist, Meilisearch creates it when you first add the documents.
	documents := []map[string]interface{}{
        { "id": 1, "title": "Carol", "genres": []string{"Romance", "Drama"} },
        { "id": 2, "title": "Wonder Woman", "genres": []string{"Action", "Adventure"} },
        { "id": 3, "title": "Life of Pi", "genres": []string{"Adventure", "Drama"} },
        { "id": 4, "title": "Mad Max: Fury Road", "genres": []string{"Adventure", "Science Fiction"} },
        { "id": 5, "title": "Moana", "genres": []string{"Fantasy", "Action"} },
        { "id": 6, "title": "Philadelphia", "genres": []string{"Drama"} },
	}
	task, err := index.AddDocuments(documents)
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}

	fmt.Println(task.TaskUID)
}

With the taskUID, you can check the status (enqueued, canceled, processing, succeeded or failed) of your documents addition using the task endpoint.

package main

import (
    "fmt"
    "os"

    "github.com/meilisearch/meilisearch-go"
)

func main() {
    // Meilisearch is typo-tolerant:
    searchRes, err := client.Index("movies").Search("philoudelphia",
        &meilisearch.SearchRequest{
            Limit: 10,
        })
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }

    fmt.Println(searchRes.Hits)
}

JSON output:

{
  "hits": [{
    "id": 6,
    "title": "Philadelphia",
    "genres": ["Drama"]
  }],
  "offset": 0,
  "limit": 10,
  "processingTimeMs": 1,
  "query": "philoudelphia"
}

All the supported options are described in the search parameters section of the documentation.

func main() {
    searchRes, err := client.Index("movies").Search("wonder",
        &meilisearch.SearchRequest{
            AttributesToHighlight: []string{"*"},
        })
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }

    fmt.Println(searchRes.Hits)
}

JSON output:

{
    "hits": [
        {
            "id": 2,
            "title": "Wonder Woman",
            "genres": ["Action", "Adventure"],
            "_formatted": {
                "id": 2,
                "title": "<em>Wonder</em> Woman"
            }
        }
    ],
    "offset": 0,
    "limit": 20,
    "processingTimeMs": 0,
    "query": "wonder"
}
Custom Search With Filters

If you want to enable filtering, you must add your attributes to the filterableAttributes index setting.

task, err := index.UpdateFilterableAttributes(&[]string{"id", "genres"})

You only need to perform this operation once.

Note that Meilisearch will rebuild your index whenever you update filterableAttributes. Depending on the size of your dataset, this might take time. You can track the process using the task status.

Then, you can perform the search:

searchRes, err := index.Search("wonder",
    &meilisearch.SearchRequest{
        Filter: "id > 1 AND genres = Action",
    })
{
  "hits": [
    {
      "id": 2,
      "title": "Wonder Woman",
      "genres": ["Action","Adventure"]
    }
  ],
  "offset": 0,
  "limit": 20,
  "estimatedTotalHits": 1,
  "processingTimeMs": 0,
  "query": "wonder"
}

πŸ€– Compatibility with Meilisearch

This package guarantees compatibility with version v1.x of Meilisearch, but some features may not be present. Please check the issues for more info.

⚠️ This package is not compatible with the vectoreStore experimental feature of Meilisearch v1.6.0 and later. More information on this issue.

πŸ’‘ Learn more

The following sections in our main documentation website may interest you:

βš™οΈ Contributing

Any new contribution is more than welcome in this project!

If you want to know more about the development workflow or want to contribute, please visit our contributing guidelines for detailed instructions!


Meilisearch provides and maintains many SDKs and Integration tools like this one. We want to provide everyone with an amazing search experience for any kind of project. If you want to contribute, make suggestions, or just know what's going on right now, visit us in the integration-guides repository.

Documentation ΒΆ

Index ΒΆ

Constants ΒΆ

View Source
const (
	DefaultLimit int64 = 20
)

This constant contains the default values assigned by Meilisearch to the limit in search parameters

Documentation: https://www.meilisearch.com/docs/reference/api/search#search-parameters

View Source
const VERSION = "0.26.2"

Variables ΒΆ

View Source
var ErrNoSearchRequest = errors.New("no search request provided")

Functions ΒΆ

func GetQualifiedVersion ΒΆ added in v0.19.1

func GetQualifiedVersion() (qualifiedVersion string)

func IsValidUUID ΒΆ added in v0.20.0

func IsValidUUID(uuid string) bool

func VersionErrorHintMessage ΒΆ added in v0.25.0

func VersionErrorHintMessage(err error, req *internalRequest) error

Added a hint to the error message if it may come from a version incompatibility with Meilisearch

Types ΒΆ

type CancelTasksQuery ΒΆ added in v0.22.0

type CancelTasksQuery struct {
	UIDS             []int64
	IndexUIDS        []string
	Statuses         []TaskStatus
	Types            []TaskType
	BeforeEnqueuedAt time.Time
	AfterEnqueuedAt  time.Time
	BeforeStartedAt  time.Time
	AfterStartedAt   time.Time
}

CancelTasksQuery is a list of filter available to send as query parameters

func (CancelTasksQuery) MarshalEasyJSON ΒΆ added in v0.22.0

func (v CancelTasksQuery) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (CancelTasksQuery) MarshalJSON ΒΆ added in v0.22.0

func (v CancelTasksQuery) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*CancelTasksQuery) UnmarshalEasyJSON ΒΆ added in v0.22.0

func (v *CancelTasksQuery) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CancelTasksQuery) UnmarshalJSON ΒΆ added in v0.22.0

func (v *CancelTasksQuery) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Client ΒΆ

type Client struct {
	// contains filtered or unexported fields
}

Client is a structure that give you the power for interacting with an high-level api with Meilisearch.

func NewClient ΒΆ

func NewClient(config ClientConfig) *Client

NewClient creates Meilisearch with default fasthttp.Client

func NewFastHTTPCustomClient ΒΆ added in v0.13.1

func NewFastHTTPCustomClient(config ClientConfig, client *fasthttp.Client) *Client

NewFastHTTPCustomClient creates Meilisearch with custom fasthttp.Client

func (*Client) CancelTasks ΒΆ added in v0.22.0

func (c *Client) CancelTasks(param *CancelTasksQuery) (resp *TaskInfo, err error)

func (*Client) CreateDump ΒΆ added in v0.15.0

func (c *Client) CreateDump() (resp *TaskInfo, err error)

func (*Client) CreateIndex ΒΆ added in v0.15.0

func (c *Client) CreateIndex(config *IndexConfig) (resp *TaskInfo, err error)

func (*Client) CreateKey ΒΆ added in v0.18.0

func (c *Client) CreateKey(request *Key) (resp *Key, err error)

func (*Client) DeleteIndex ΒΆ added in v0.15.0

func (c *Client) DeleteIndex(uid string) (resp *TaskInfo, err error)

func (*Client) DeleteKey ΒΆ added in v0.18.0

func (c *Client) DeleteKey(keyOrUID string) (resp bool, err error)

func (*Client) DeleteTasks ΒΆ added in v0.22.0

func (c *Client) DeleteTasks(param *DeleteTasksQuery) (resp *TaskInfo, err error)

func (*Client) GenerateTenantToken ΒΆ added in v0.19.0

func (c *Client) GenerateTenantToken(APIKeyUID string, SearchRules map[string]interface{}, Options *TenantTokenOptions) (resp string, err error)

Generate a JWT token for the use of multitenancy

SearchRules parameters is mandatory and should contains the rules to be enforced at search time for all or specific accessible indexes for the signing API Key. ExpiresAt options is a time.Time when the key will expire. Note that if an ExpiresAt value is included it should be in UTC time. ApiKey options is the API key parent of the token. If you leave it empty the client API Key will be used.

func (*Client) GetIndex ΒΆ added in v0.15.0

func (c *Client) GetIndex(uid string) (resp *Index, err error)

func (*Client) GetIndexes ΒΆ added in v0.21.0

func (c *Client) GetIndexes(param *IndexesQuery) (resp *IndexesResults, err error)

func (*Client) GetKey ΒΆ added in v0.18.0

func (c *Client) GetKey(identifier string) (resp *Key, err error)

func (*Client) GetKeys ΒΆ added in v0.15.0

func (c *Client) GetKeys(param *KeysQuery) (resp *KeysResults, err error)

func (*Client) GetRawIndex ΒΆ added in v0.17.0

func (c *Client) GetRawIndex(uid string) (resp map[string]interface{}, err error)

func (*Client) GetRawIndexes ΒΆ added in v0.21.0

func (c *Client) GetRawIndexes(param *IndexesQuery) (resp map[string]interface{}, err error)

func (*Client) GetStats ΒΆ added in v0.21.0

func (c *Client) GetStats() (resp *Stats, err error)

func (*Client) GetTask ΒΆ added in v0.18.0

func (c *Client) GetTask(taskUID int64) (resp *Task, err error)

func (*Client) GetTasks ΒΆ added in v0.18.0

func (c *Client) GetTasks(param *TasksQuery) (resp *TaskResult, err error)

func (*Client) GetVersion ΒΆ added in v0.15.0

func (c *Client) GetVersion() (resp *Version, err error)

func (*Client) Health ΒΆ

func (c *Client) Health() (resp *Health, err error)

func (*Client) Index ΒΆ added in v0.15.0

func (c *Client) Index(uid string) *Index

func (*Client) IsHealthy ΒΆ added in v0.15.0

func (c *Client) IsHealthy() bool

func (Client) MarshalEasyJSON ΒΆ added in v0.15.0

func (v Client) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Client) MarshalJSON ΒΆ added in v0.15.0

func (v Client) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Client) MultiSearch ΒΆ added in v0.24.0

func (c *Client) MultiSearch(queries *MultiSearchRequest) (*MultiSearchResponse, error)

func (*Client) SwapIndexes ΒΆ added in v0.22.0

func (c *Client) SwapIndexes(param []SwapIndexesParams) (resp *TaskInfo, err error)

func (*Client) UnmarshalEasyJSON ΒΆ added in v0.15.0

func (v *Client) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Client) UnmarshalJSON ΒΆ added in v0.15.0

func (v *Client) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

func (*Client) UpdateKey ΒΆ added in v0.18.0

func (c *Client) UpdateKey(keyOrUID string, request *Key) (resp *Key, err error)

func (*Client) Version ΒΆ

func (c *Client) Version() (resp *Version, err error)

func (*Client) WaitForTask ΒΆ added in v0.18.0

func (c *Client) WaitForTask(taskUID int64, options ...WaitParams) (*Task, error)

WaitForTask waits for a task to be processed

The function will check by regular interval provided in parameter interval the TaskStatus. If no ctx and interval are provided WaitForTask will check each 50ms the status of a task.

type ClientConfig ΒΆ added in v0.15.0

type ClientConfig struct {

	// Host is the host of your Meilisearch database
	// Example: 'http://localhost:7700'
	Host string

	// APIKey is optional
	APIKey string

	// Timeout is optional
	Timeout time.Duration
}

ClientConfig configure the Client

type ClientInterface ΒΆ added in v0.13.1

type ClientInterface interface {
	Index(uid string) *Index
	GetIndex(indexID string) (resp *Index, err error)
	GetRawIndex(uid string) (resp map[string]interface{}, err error)
	GetIndexes(param *IndexesQuery) (resp *IndexesResults, err error)
	GetRawIndexes(param *IndexesQuery) (resp map[string]interface{}, err error)
	CreateIndex(config *IndexConfig) (resp *TaskInfo, err error)
	DeleteIndex(uid string) (resp *TaskInfo, err error)
	CreateKey(request *Key) (resp *Key, err error)
	MultiSearch(queries *MultiSearchRequest) (*MultiSearchResponse, error)
	GetKey(identifier string) (resp *Key, err error)
	GetKeys(param *KeysQuery) (resp *KeysResults, err error)
	UpdateKey(keyOrUID string, request *Key) (resp *Key, err error)
	DeleteKey(keyOrUID string) (resp bool, err error)
	GetStats() (resp *Stats, err error)
	CreateDump() (resp *TaskInfo, err error)
	Version() (*Version, error)
	GetVersion() (resp *Version, err error)
	Health() (*Health, error)
	IsHealthy() bool
	GetTask(taskUID int64) (resp *Task, err error)
	GetTasks(param *TasksQuery) (resp *TaskResult, err error)
	CancelTasks(param *CancelTasksQuery) (resp *TaskInfo, err error)
	DeleteTasks(param *DeleteTasksQuery) (resp *TaskInfo, err error)
	SwapIndexes(param []SwapIndexesParams) (resp *TaskInfo, err error)
	WaitForTask(taskUID int64, options ...WaitParams) (*Task, error)
	GenerateTenantToken(APIKeyUID string, searchRules map[string]interface{}, options *TenantTokenOptions) (resp string, err error)
}

ClientInterface is interface for all Meilisearch client

type CreateIndexRequest ΒΆ

type CreateIndexRequest struct {
	UID        string `json:"uid,omitempty"`
	PrimaryKey string `json:"primaryKey,omitempty"`
}

CreateIndexRequest is the request body for create index method

func (CreateIndexRequest) MarshalEasyJSON ΒΆ added in v0.13.1

func (v CreateIndexRequest) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (CreateIndexRequest) MarshalJSON ΒΆ added in v0.13.1

func (v CreateIndexRequest) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*CreateIndexRequest) UnmarshalEasyJSON ΒΆ added in v0.13.1

func (v *CreateIndexRequest) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CreateIndexRequest) UnmarshalJSON ΒΆ added in v0.13.1

func (v *CreateIndexRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type CsvDocumentsQuery ΒΆ added in v0.24.0

type CsvDocumentsQuery struct {
	PrimaryKey   string `json:"primaryKey,omitempty"`
	CsvDelimiter string `json:"csvDelimiter,omitempty"`
}

func (CsvDocumentsQuery) MarshalEasyJSON ΒΆ added in v0.24.0

func (v CsvDocumentsQuery) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (CsvDocumentsQuery) MarshalJSON ΒΆ added in v0.24.0

func (v CsvDocumentsQuery) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*CsvDocumentsQuery) UnmarshalEasyJSON ΒΆ added in v0.24.0

func (v *CsvDocumentsQuery) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CsvDocumentsQuery) UnmarshalJSON ΒΆ added in v0.24.0

func (v *CsvDocumentsQuery) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DeleteTasksQuery ΒΆ added in v0.22.0

type DeleteTasksQuery struct {
	UIDS             []int64
	IndexUIDS        []string
	Statuses         []TaskStatus
	Types            []TaskType
	CanceledBy       []int64
	BeforeEnqueuedAt time.Time
	AfterEnqueuedAt  time.Time
	BeforeStartedAt  time.Time
	AfterStartedAt   time.Time
	BeforeFinishedAt time.Time
	AfterFinishedAt  time.Time
}

DeleteTasksQuery is a list of filter available to send as query parameters

func (DeleteTasksQuery) MarshalEasyJSON ΒΆ added in v0.22.0

func (v DeleteTasksQuery) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DeleteTasksQuery) MarshalJSON ΒΆ added in v0.22.0

func (v DeleteTasksQuery) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DeleteTasksQuery) UnmarshalEasyJSON ΒΆ added in v0.22.0

func (v *DeleteTasksQuery) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DeleteTasksQuery) UnmarshalJSON ΒΆ added in v0.22.0

func (v *DeleteTasksQuery) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Details ΒΆ added in v0.18.0

type Details struct {
	ReceivedDocuments    int64               `json:"receivedDocuments,omitempty"`
	IndexedDocuments     int64               `json:"indexedDocuments,omitempty"`
	DeletedDocuments     int64               `json:"deletedDocuments,omitempty"`
	PrimaryKey           string              `json:"primaryKey,omitempty"`
	ProvidedIds          int64               `json:"providedIds,omitempty"`
	RankingRules         []string            `json:"rankingRules,omitempty"`
	DistinctAttribute    *string             `json:"distinctAttribute,omitempty"`
	SearchableAttributes []string            `json:"searchableAttributes,omitempty"`
	DisplayedAttributes  []string            `json:"displayedAttributes,omitempty"`
	StopWords            []string            `json:"stopWords,omitempty"`
	Synonyms             map[string][]string `json:"synonyms,omitempty"`
	FilterableAttributes []string            `json:"filterableAttributes,omitempty"`
	SortableAttributes   []string            `json:"sortableAttributes,omitempty"`
	TypoTolerance        *TypoTolerance      `json:"typoTolerance,omitempty"`
	Pagination           *Pagination         `json:"pagination,omitempty"`
	Faceting             *Faceting           `json:"faceting,omitempty"`
	MatchedTasks         int64               `json:"matchedTasks,omitempty"`
	CanceledTasks        int64               `json:"canceledTasks,omitempty"`
	DeletedTasks         int64               `json:"deletedTasks,omitempty"`
	OriginalFilter       string              `json:"originalFilter,omitempty"`
	Swaps                []SwapIndexesParams `json:"swaps,omitempty"`
	DumpUid              string              `json:"dumpUid,omitempty"`
}

func (Details) MarshalEasyJSON ΒΆ added in v0.18.0

func (v Details) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Details) MarshalJSON ΒΆ added in v0.18.0

func (v Details) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Details) UnmarshalEasyJSON ΒΆ added in v0.18.0

func (v *Details) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Details) UnmarshalJSON ΒΆ added in v0.18.0

func (v *Details) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DocumentQuery ΒΆ added in v0.20.0

type DocumentQuery struct {
	Fields []string `json:"fields,omitempty"`
}

DocumentQuery is the request body get one documents method

func (DocumentQuery) MarshalEasyJSON ΒΆ added in v0.20.0

func (v DocumentQuery) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DocumentQuery) MarshalJSON ΒΆ added in v0.20.0

func (v DocumentQuery) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DocumentQuery) UnmarshalEasyJSON ΒΆ added in v0.20.0

func (v *DocumentQuery) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DocumentQuery) UnmarshalJSON ΒΆ added in v0.20.0

func (v *DocumentQuery) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DocumentsQuery ΒΆ added in v0.20.0

type DocumentsQuery struct {
	Offset int64       `json:"offset,omitempty"`
	Limit  int64       `json:"limit,omitempty"`
	Fields []string    `json:"fields,omitempty"`
	Filter interface{} `json:"filter,omitempty"`
}

DocumentsQuery is the request body for list documents method

func (DocumentsQuery) MarshalEasyJSON ΒΆ added in v0.20.0

func (v DocumentsQuery) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DocumentsQuery) MarshalJSON ΒΆ added in v0.20.0

func (v DocumentsQuery) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DocumentsQuery) UnmarshalEasyJSON ΒΆ added in v0.20.0

func (v *DocumentsQuery) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DocumentsQuery) UnmarshalJSON ΒΆ added in v0.20.0

func (v *DocumentsQuery) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DocumentsResult ΒΆ added in v0.20.0

type DocumentsResult struct {
	Results []map[string]interface{} `json:"results"`
	Limit   int64                    `json:"limit"`
	Offset  int64                    `json:"offset"`
	Total   int64                    `json:"total"`
}

func (DocumentsResult) MarshalEasyJSON ΒΆ added in v0.20.0

func (v DocumentsResult) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DocumentsResult) MarshalJSON ΒΆ added in v0.20.0

func (v DocumentsResult) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DocumentsResult) UnmarshalEasyJSON ΒΆ added in v0.20.0

func (v *DocumentsResult) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DocumentsResult) UnmarshalJSON ΒΆ added in v0.20.0

func (v *DocumentsResult) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type ErrCode ΒΆ

type ErrCode int

ErrCode are all possible errors found during requests

const (
	// ErrCodeUnknown default error code, undefined
	ErrCodeUnknown ErrCode = 0
	// ErrCodeMarshalRequest impossible to serialize request body
	ErrCodeMarshalRequest ErrCode = iota + 1
	// ErrCodeResponseUnmarshalBody impossible deserialize the response body
	ErrCodeResponseUnmarshalBody
	// MeilisearchApiError send by the Meilisearch api
	MeilisearchApiError
	// MeilisearchApiError send by the Meilisearch api
	MeilisearchApiErrorWithoutMessage
	// MeilisearchTimeoutError
	MeilisearchTimeoutError
	// MeilisearchCommunicationError impossible execute a request
	MeilisearchCommunicationError
)

type Error ΒΆ

type Error struct {
	// Endpoint is the path of the request (host is not in)
	Endpoint string

	// Method is the HTTP verb of the request
	Method string

	// Function name used
	Function string

	// RequestToString is the raw request into string ('empty request' if not present)
	RequestToString string

	// RequestToString is the raw request into string ('empty response' if not present)
	ResponseToString string

	// Error info from Meilisearch api
	// Message is the raw request into string ('empty Meilisearch message' if not present)
	MeilisearchApiError meilisearchApiError

	// StatusCode of the request
	StatusCode int

	// StatusCode expected by the endpoint to be considered as a success
	StatusCodeExpected []int

	// OriginError is the origin error that produce the current Error. It can be nil in case of a bad status code.
	OriginError error

	// ErrCode is the internal error code that represent the different step when executing a request that can produce
	// an error.
	ErrCode ErrCode
	// contains filtered or unexported fields
}

Error is the internal error structure that all exposed method use. So ALL errors returned by this library can be cast to this struct (as a pointer)

func (Error) Error ΒΆ

func (e Error) Error() string

Error return a well human formatted message.

func (*Error) ErrorBody ΒΆ

func (e *Error) ErrorBody(body []byte)

ErrorBody add a body to an error

func (*Error) WithErrCode ΒΆ

func (e *Error) WithErrCode(err ErrCode, errs ...error) *Error

WithErrCode add an error code to an error

type Faceting ΒΆ added in v0.20.1

type Faceting struct {
	MaxValuesPerFacet int64 `json:"maxValuesPerFacet"`
}

Faceting is the type that represents the faceting setting in Meilisearch

func (Faceting) MarshalEasyJSON ΒΆ added in v0.20.1

func (v Faceting) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Faceting) MarshalJSON ΒΆ added in v0.20.1

func (v Faceting) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Faceting) UnmarshalEasyJSON ΒΆ added in v0.20.1

func (v *Faceting) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Faceting) UnmarshalJSON ΒΆ added in v0.20.1

func (v *Faceting) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Health ΒΆ added in v0.13.1

type Health struct {
	Status string `json:"status"`
}

Health is the request body for set Meilisearch health

func (Health) MarshalEasyJSON ΒΆ added in v0.13.1

func (v Health) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Health) MarshalJSON ΒΆ added in v0.13.1

func (v Health) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Health) UnmarshalEasyJSON ΒΆ added in v0.13.1

func (v *Health) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Health) UnmarshalJSON ΒΆ added in v0.13.1

func (v *Health) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Index ΒΆ

type Index struct {
	UID        string    `json:"uid"`
	CreatedAt  time.Time `json:"createdAt"`
	UpdatedAt  time.Time `json:"updatedAt"`
	PrimaryKey string    `json:"primaryKey,omitempty"`
	// contains filtered or unexported fields
}

Index is the type that represent an index in Meilisearch

func (Index) AddDocuments ΒΆ added in v0.15.0

func (i Index) AddDocuments(documentsPtr interface{}, primaryKey ...string) (resp *TaskInfo, err error)

func (Index) AddDocumentsCsv ΒΆ added in v0.18.0

func (i Index) AddDocumentsCsv(documents []byte, options *CsvDocumentsQuery) (resp *TaskInfo, err error)

func (Index) AddDocumentsCsvFromReader ΒΆ added in v0.18.0

func (i Index) AddDocumentsCsvFromReader(documents io.Reader, options *CsvDocumentsQuery) (resp *TaskInfo, err error)

func (Index) AddDocumentsCsvFromReaderInBatches ΒΆ added in v0.18.0

func (i Index) AddDocumentsCsvFromReaderInBatches(documents io.Reader, batchSize int, options *CsvDocumentsQuery) (resp []TaskInfo, err error)

func (Index) AddDocumentsCsvInBatches ΒΆ added in v0.18.0

func (i Index) AddDocumentsCsvInBatches(documents []byte, batchSize int, options *CsvDocumentsQuery) (resp []TaskInfo, err error)

func (Index) AddDocumentsInBatches ΒΆ added in v0.17.0

func (i Index) AddDocumentsInBatches(documentsPtr interface{}, batchSize int, primaryKey ...string) (resp []TaskInfo, err error)

func (Index) AddDocumentsNdjson ΒΆ added in v0.18.0

func (i Index) AddDocumentsNdjson(documents []byte, primaryKey ...string) (resp *TaskInfo, err error)

func (Index) AddDocumentsNdjsonFromReader ΒΆ added in v0.18.0

func (i Index) AddDocumentsNdjsonFromReader(documents io.Reader, primaryKey ...string) (resp *TaskInfo, err error)

func (Index) AddDocumentsNdjsonFromReaderInBatches ΒΆ added in v0.18.0

func (i Index) AddDocumentsNdjsonFromReaderInBatches(documents io.Reader, batchSize int, primaryKey ...string) (resp []TaskInfo, err error)

func (Index) AddDocumentsNdjsonInBatches ΒΆ added in v0.18.0

func (i Index) AddDocumentsNdjsonInBatches(documents []byte, batchSize int, primaryKey ...string) (resp []TaskInfo, err error)

func (Index) Delete ΒΆ added in v0.15.0

func (i Index) Delete(uid string) (ok bool, err error)

func (Index) DeleteAllDocuments ΒΆ added in v0.15.0

func (i Index) DeleteAllDocuments() (resp *TaskInfo, err error)

func (Index) DeleteDocument ΒΆ added in v0.15.0

func (i Index) DeleteDocument(identifier string) (resp *TaskInfo, err error)

func (Index) DeleteDocuments ΒΆ added in v0.15.0

func (i Index) DeleteDocuments(identifier []string) (resp *TaskInfo, err error)

func (Index) DeleteDocumentsByFilter ΒΆ added in v0.25.0

func (i Index) DeleteDocumentsByFilter(filter interface{}) (resp *TaskInfo, err error)

func (*Index) FetchInfo ΒΆ added in v0.15.0

func (i *Index) FetchInfo() (resp *Index, err error)

func (Index) FetchPrimaryKey ΒΆ added in v0.15.0

func (i Index) FetchPrimaryKey() (resp *string, err error)

func (Index) GetDisplayedAttributes ΒΆ added in v0.15.0

func (i Index) GetDisplayedAttributes() (resp *[]string, err error)

func (Index) GetDistinctAttribute ΒΆ added in v0.15.0

func (i Index) GetDistinctAttribute() (resp *string, err error)

func (Index) GetDocument ΒΆ added in v0.15.0

func (i Index) GetDocument(identifier string, request *DocumentQuery, documentPtr interface{}) error

func (Index) GetDocuments ΒΆ added in v0.15.0

func (i Index) GetDocuments(request *DocumentsQuery, resp *DocumentsResult) error

func (Index) GetFaceting ΒΆ added in v0.20.1

func (i Index) GetFaceting() (resp *Faceting, err error)

func (Index) GetFilterableAttributes ΒΆ added in v0.16.0

func (i Index) GetFilterableAttributes() (resp *[]string, err error)

func (Index) GetPagination ΒΆ added in v0.20.1

func (i Index) GetPagination() (resp *Pagination, err error)

func (Index) GetRankingRules ΒΆ added in v0.15.0

func (i Index) GetRankingRules() (resp *[]string, err error)

func (Index) GetSearchableAttributes ΒΆ added in v0.15.0

func (i Index) GetSearchableAttributes() (resp *[]string, err error)

func (Index) GetSettings ΒΆ added in v0.15.0

func (i Index) GetSettings() (resp *Settings, err error)

func (Index) GetSortableAttributes ΒΆ added in v0.16.1

func (i Index) GetSortableAttributes() (resp *[]string, err error)

func (Index) GetStats ΒΆ added in v0.15.0

func (i Index) GetStats() (resp *StatsIndex, err error)

func (Index) GetStopWords ΒΆ added in v0.15.0

func (i Index) GetStopWords() (resp *[]string, err error)

func (Index) GetSynonyms ΒΆ added in v0.15.0

func (i Index) GetSynonyms() (resp *map[string][]string, err error)

func (Index) GetTask ΒΆ added in v0.18.0

func (i Index) GetTask(taskUID int64) (resp *Task, err error)

func (Index) GetTasks ΒΆ added in v0.18.0

func (i Index) GetTasks(param *TasksQuery) (resp *TaskResult, err error)

func (Index) GetTypoTolerance ΒΆ added in v0.19.1

func (i Index) GetTypoTolerance() (resp *TypoTolerance, err error)

func (Index) MarshalEasyJSON ΒΆ added in v0.13.1

func (v Index) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Index) MarshalJSON ΒΆ added in v0.13.1

func (v Index) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (Index) ResetDisplayedAttributes ΒΆ added in v0.15.0

func (i Index) ResetDisplayedAttributes() (resp *TaskInfo, err error)

func (Index) ResetDistinctAttribute ΒΆ added in v0.15.0

func (i Index) ResetDistinctAttribute() (resp *TaskInfo, err error)

func (Index) ResetFaceting ΒΆ added in v0.20.1

func (i Index) ResetFaceting() (resp *TaskInfo, err error)

func (Index) ResetFilterableAttributes ΒΆ added in v0.16.0

func (i Index) ResetFilterableAttributes() (resp *TaskInfo, err error)

func (Index) ResetPagination ΒΆ added in v0.20.1

func (i Index) ResetPagination() (resp *TaskInfo, err error)

func (Index) ResetRankingRules ΒΆ added in v0.15.0

func (i Index) ResetRankingRules() (resp *TaskInfo, err error)

func (Index) ResetSearchableAttributes ΒΆ added in v0.15.0

func (i Index) ResetSearchableAttributes() (resp *TaskInfo, err error)

func (Index) ResetSettings ΒΆ added in v0.15.0

func (i Index) ResetSettings() (resp *TaskInfo, err error)

func (Index) ResetSortableAttributes ΒΆ added in v0.16.1

func (i Index) ResetSortableAttributes() (resp *TaskInfo, err error)

func (Index) ResetStopWords ΒΆ added in v0.15.0

func (i Index) ResetStopWords() (resp *TaskInfo, err error)

func (Index) ResetSynonyms ΒΆ added in v0.15.0

func (i Index) ResetSynonyms() (resp *TaskInfo, err error)

func (Index) ResetTypoTolerance ΒΆ added in v0.19.1

func (i Index) ResetTypoTolerance() (resp *TaskInfo, err error)

func (Index) Search ΒΆ added in v0.15.0

func (i Index) Search(query string, request *SearchRequest) (*SearchResponse, error)

func (Index) SearchRaw ΒΆ added in v0.21.1

func (i Index) SearchRaw(query string, request *SearchRequest) (*json.RawMessage, error)

func (*Index) UnmarshalEasyJSON ΒΆ added in v0.13.1

func (v *Index) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Index) UnmarshalJSON ΒΆ added in v0.13.1

func (v *Index) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

func (Index) UpdateDisplayedAttributes ΒΆ added in v0.15.0

func (i Index) UpdateDisplayedAttributes(request *[]string) (resp *TaskInfo, err error)

func (Index) UpdateDistinctAttribute ΒΆ added in v0.15.0

func (i Index) UpdateDistinctAttribute(request string) (resp *TaskInfo, err error)

func (Index) UpdateDocuments ΒΆ added in v0.15.0

func (i Index) UpdateDocuments(documentsPtr interface{}, primaryKey ...string) (resp *TaskInfo, err error)

func (Index) UpdateDocumentsCsv ΒΆ added in v0.23.1

func (i Index) UpdateDocumentsCsv(documents []byte, options *CsvDocumentsQuery) (resp *TaskInfo, err error)

func (Index) UpdateDocumentsCsvFromReader ΒΆ added in v0.23.1

func (i Index) UpdateDocumentsCsvFromReader(documents io.Reader, options *CsvDocumentsQuery) (resp *TaskInfo, err error)

func (Index) UpdateDocumentsCsvFromReaderInBatches ΒΆ added in v0.23.1

func (i Index) UpdateDocumentsCsvFromReaderInBatches(documents io.Reader, batchSize int, options *CsvDocumentsQuery) (resp []TaskInfo, err error)

func (Index) UpdateDocumentsCsvInBatches ΒΆ added in v0.23.1

func (i Index) UpdateDocumentsCsvInBatches(documents []byte, batchSize int, options *CsvDocumentsQuery) (resp []TaskInfo, err error)

func (Index) UpdateDocumentsInBatches ΒΆ added in v0.17.0

func (i Index) UpdateDocumentsInBatches(documentsPtr interface{}, batchSize int, primaryKey ...string) (resp []TaskInfo, err error)

func (Index) UpdateDocumentsNdjson ΒΆ added in v0.23.1

func (i Index) UpdateDocumentsNdjson(documents []byte, primaryKey ...string) (resp *TaskInfo, err error)

func (Index) UpdateDocumentsNdjsonFromReader ΒΆ added in v0.23.1

func (i Index) UpdateDocumentsNdjsonFromReader(documents io.Reader, primaryKey ...string) (resp *TaskInfo, err error)

func (Index) UpdateDocumentsNdjsonInBatches ΒΆ added in v0.23.1

func (i Index) UpdateDocumentsNdjsonInBatches(documents []byte, batchsize int, primaryKey ...string) (resp []TaskInfo, err error)

func (Index) UpdateFaceting ΒΆ added in v0.20.1

func (i Index) UpdateFaceting(request *Faceting) (resp *TaskInfo, err error)

func (Index) UpdateFilterableAttributes ΒΆ added in v0.16.0

func (i Index) UpdateFilterableAttributes(request *[]string) (resp *TaskInfo, err error)

func (*Index) UpdateIndex ΒΆ added in v0.15.0

func (i *Index) UpdateIndex(primaryKey string) (resp *TaskInfo, err error)

func (Index) UpdatePagination ΒΆ added in v0.20.1

func (i Index) UpdatePagination(request *Pagination) (resp *TaskInfo, err error)

func (Index) UpdateRankingRules ΒΆ added in v0.15.0

func (i Index) UpdateRankingRules(request *[]string) (resp *TaskInfo, err error)

func (Index) UpdateSearchableAttributes ΒΆ added in v0.15.0

func (i Index) UpdateSearchableAttributes(request *[]string) (resp *TaskInfo, err error)

func (Index) UpdateSettings ΒΆ added in v0.15.0

func (i Index) UpdateSettings(request *Settings) (resp *TaskInfo, err error)

func (Index) UpdateSortableAttributes ΒΆ added in v0.16.1

func (i Index) UpdateSortableAttributes(request *[]string) (resp *TaskInfo, err error)

func (Index) UpdateStopWords ΒΆ added in v0.15.0

func (i Index) UpdateStopWords(request *[]string) (resp *TaskInfo, err error)

func (Index) UpdateSynonyms ΒΆ added in v0.15.0

func (i Index) UpdateSynonyms(request *map[string][]string) (resp *TaskInfo, err error)

func (Index) UpdateTypoTolerance ΒΆ added in v0.19.1

func (i Index) UpdateTypoTolerance(request *TypoTolerance) (resp *TaskInfo, err error)

func (Index) WaitForTask ΒΆ added in v0.18.0

func (i Index) WaitForTask(taskUID int64, options ...WaitParams) (*Task, error)

WaitForTask waits for a task to be processed. The function will check by regular interval provided in parameter interval the TaskStatus. If no ctx and interval are provided WaitForTask will check each 50ms the status of a task.

type IndexConfig ΒΆ added in v0.15.0

type IndexConfig struct {

	// Uid is the unique identifier of a given index.
	Uid string

	// PrimaryKey is optional
	PrimaryKey string
	// contains filtered or unexported fields
}

IndexConfig configure the Index

type IndexInterface ΒΆ added in v0.15.0

type IndexInterface interface {
	FetchInfo() (resp *Index, err error)
	FetchPrimaryKey() (resp *string, err error)
	UpdateIndex(primaryKey string) (resp *TaskInfo, err error)
	Delete(uid string) (ok bool, err error)
	GetStats() (resp *StatsIndex, err error)

	AddDocuments(documentsPtr interface{}, primaryKey ...string) (resp *TaskInfo, err error)
	AddDocumentsInBatches(documentsPtr interface{}, batchSize int, primaryKey ...string) (resp []TaskInfo, err error)
	AddDocumentsCsv(documents []byte, options *CsvDocumentsQuery) (resp *TaskInfo, err error)
	AddDocumentsCsvInBatches(documents []byte, batchSize int, options *CsvDocumentsQuery) (resp []TaskInfo, err error)
	AddDocumentsNdjson(documents []byte, primaryKey ...string) (resp *TaskInfo, err error)
	AddDocumentsNdjsonInBatches(documents []byte, batchSize int, primaryKey ...string) (resp []TaskInfo, err error)
	UpdateDocuments(documentsPtr interface{}, primaryKey ...string) (resp *TaskInfo, err error)
	UpdateDocumentsInBatches(documentsPtr interface{}, batchSize int, primaryKey ...string) (resp []TaskInfo, err error)
	UpdateDocumentsCsv(documents []byte, options *CsvDocumentsQuery) (resp *TaskInfo, err error)
	UpdateDocumentsCsvInBatches(documents []byte, batchsize int, options *CsvDocumentsQuery) (resp []TaskInfo, err error)
	UpdateDocumentsNdjson(documents []byte, primaryKey ...string) (resp *TaskInfo, err error)
	UpdateDocumentsNdjsonInBatches(documents []byte, batchsize int, primaryKey ...string) (resp []TaskInfo, err error)
	GetDocument(uid string, request *DocumentQuery, documentPtr interface{}) error
	GetDocuments(param *DocumentsQuery, resp *DocumentsResult) error
	DeleteDocument(uid string) (resp *TaskInfo, err error)
	DeleteDocuments(uid []string) (resp *TaskInfo, err error)
	DeleteDocumentsByFilter(filter interface{}) (resp *TaskInfo, err error)
	DeleteAllDocuments() (resp *TaskInfo, err error)
	Search(query string, request *SearchRequest) (*SearchResponse, error)
	SearchRaw(query string, request *SearchRequest) (*json.RawMessage, error)

	GetTask(taskUID int64) (resp *Task, err error)
	GetTasks(param *TasksQuery) (resp *TaskResult, err error)

	GetSettings() (resp *Settings, err error)
	UpdateSettings(request *Settings) (resp *TaskInfo, err error)
	ResetSettings() (resp *TaskInfo, err error)
	GetRankingRules() (resp *[]string, err error)
	UpdateRankingRules(request *[]string) (resp *TaskInfo, err error)
	ResetRankingRules() (resp *TaskInfo, err error)
	GetDistinctAttribute() (resp *string, err error)
	UpdateDistinctAttribute(request string) (resp *TaskInfo, err error)
	ResetDistinctAttribute() (resp *TaskInfo, err error)
	GetSearchableAttributes() (resp *[]string, err error)
	UpdateSearchableAttributes(request *[]string) (resp *TaskInfo, err error)
	ResetSearchableAttributes() (resp *TaskInfo, err error)
	GetDisplayedAttributes() (resp *[]string, err error)
	UpdateDisplayedAttributes(request *[]string) (resp *TaskInfo, err error)
	ResetDisplayedAttributes() (resp *TaskInfo, err error)
	GetStopWords() (resp *[]string, err error)
	UpdateStopWords(request *[]string) (resp *TaskInfo, err error)
	ResetStopWords() (resp *TaskInfo, err error)
	GetSynonyms() (resp *map[string][]string, err error)
	UpdateSynonyms(request *map[string][]string) (resp *TaskInfo, err error)
	ResetSynonyms() (resp *TaskInfo, err error)
	GetFilterableAttributes() (resp *[]string, err error)
	UpdateFilterableAttributes(request *[]string) (resp *TaskInfo, err error)
	ResetFilterableAttributes() (resp *TaskInfo, err error)

	WaitForTask(taskUID int64, options ...WaitParams) (*Task, error)
}

type IndexesQuery ΒΆ added in v0.20.0

type IndexesQuery struct {
	Limit  int64
	Offset int64
}

func (IndexesQuery) MarshalEasyJSON ΒΆ added in v0.20.0

func (v IndexesQuery) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (IndexesQuery) MarshalJSON ΒΆ added in v0.20.0

func (v IndexesQuery) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*IndexesQuery) UnmarshalEasyJSON ΒΆ added in v0.20.0

func (v *IndexesQuery) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*IndexesQuery) UnmarshalJSON ΒΆ added in v0.20.0

func (v *IndexesQuery) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type IndexesResults ΒΆ added in v0.20.0

type IndexesResults struct {
	Results []Index `json:"results"`
	Offset  int64   `json:"offset"`
	Limit   int64   `json:"limit"`
	Total   int64   `json:"total"`
}

Return of multiple indexes is wrap in a IndexesResults

func (IndexesResults) MarshalEasyJSON ΒΆ added in v0.20.0

func (v IndexesResults) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (IndexesResults) MarshalJSON ΒΆ added in v0.20.0

func (v IndexesResults) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*IndexesResults) UnmarshalEasyJSON ΒΆ added in v0.20.0

func (v *IndexesResults) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*IndexesResults) UnmarshalJSON ΒΆ added in v0.20.0

func (v *IndexesResults) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Key ΒΆ added in v0.18.0

type Key struct {
	Name        string    `json:"name"`
	Description string    `json:"description"`
	Key         string    `json:"key,omitempty"`
	UID         string    `json:"uid,omitempty"`
	Actions     []string  `json:"actions,omitempty"`
	Indexes     []string  `json:"indexes,omitempty"`
	CreatedAt   time.Time `json:"createdAt,omitempty"`
	UpdatedAt   time.Time `json:"updatedAt,omitempty"`
	ExpiresAt   time.Time `json:"expiresAt"`
}

Keys allow the user to connect to the Meilisearch instance

Documentation: https://www.meilisearch.com/docs/learn/security/master_api_keys#protecting-a-meilisearch-instance

func (Key) MarshalEasyJSON ΒΆ added in v0.18.0

func (v Key) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Key) MarshalJSON ΒΆ added in v0.18.0

func (v Key) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Key) UnmarshalEasyJSON ΒΆ added in v0.18.0

func (v *Key) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Key) UnmarshalJSON ΒΆ added in v0.18.0

func (v *Key) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type KeyParsed ΒΆ added in v0.18.0

type KeyParsed struct {
	Name        string   `json:"name"`
	Description string   `json:"description"`
	UID         string   `json:"uid,omitempty"`
	Actions     []string `json:"actions,omitempty"`
	Indexes     []string `json:"indexes,omitempty"`
	ExpiresAt   *string  `json:"expiresAt"`
}

This structure is used to send the exact ISO-8601 time format managed by Meilisearch

func (KeyParsed) MarshalEasyJSON ΒΆ added in v0.18.0

func (v KeyParsed) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (KeyParsed) MarshalJSON ΒΆ added in v0.18.0

func (v KeyParsed) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*KeyParsed) UnmarshalEasyJSON ΒΆ added in v0.18.0

func (v *KeyParsed) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*KeyParsed) UnmarshalJSON ΒΆ added in v0.18.0

func (v *KeyParsed) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type KeyUpdate ΒΆ added in v0.20.0

type KeyUpdate struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

This structure is used to update a Key

func (KeyUpdate) MarshalEasyJSON ΒΆ added in v0.20.0

func (v KeyUpdate) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (KeyUpdate) MarshalJSON ΒΆ added in v0.20.0

func (v KeyUpdate) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*KeyUpdate) UnmarshalEasyJSON ΒΆ added in v0.20.0

func (v *KeyUpdate) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*KeyUpdate) UnmarshalJSON ΒΆ added in v0.20.0

func (v *KeyUpdate) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type KeysQuery ΒΆ added in v0.20.0

type KeysQuery struct {
	Limit  int64
	Offset int64
}

func (KeysQuery) MarshalEasyJSON ΒΆ added in v0.20.0

func (v KeysQuery) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (KeysQuery) MarshalJSON ΒΆ added in v0.20.0

func (v KeysQuery) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*KeysQuery) UnmarshalEasyJSON ΒΆ added in v0.20.0

func (v *KeysQuery) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*KeysQuery) UnmarshalJSON ΒΆ added in v0.20.0

func (v *KeysQuery) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type KeysResults ΒΆ added in v0.20.0

type KeysResults struct {
	Results []Key `json:"results"`
	Offset  int64 `json:"offset"`
	Limit   int64 `json:"limit"`
	Total   int64 `json:"total"`
}

Return of multiple keys is wrap in a KeysResults

func (KeysResults) MarshalEasyJSON ΒΆ added in v0.20.0

func (v KeysResults) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (KeysResults) MarshalJSON ΒΆ added in v0.20.0

func (v KeysResults) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*KeysResults) UnmarshalEasyJSON ΒΆ added in v0.20.0

func (v *KeysResults) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*KeysResults) UnmarshalJSON ΒΆ added in v0.20.0

func (v *KeysResults) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MinWordSizeForTypos ΒΆ added in v0.19.1

type MinWordSizeForTypos struct {
	OneTypo  int64 `json:"oneTypo,omitempty"`
	TwoTypos int64 `json:"twoTypos,omitempty"`
}

MinWordSizeForTypos is the type that represents the minWordSizeForTypos setting in the typo tolerance setting in Meilisearch

func (MinWordSizeForTypos) MarshalEasyJSON ΒΆ added in v0.19.1

func (v MinWordSizeForTypos) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MinWordSizeForTypos) MarshalJSON ΒΆ added in v0.19.1

func (v MinWordSizeForTypos) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MinWordSizeForTypos) UnmarshalEasyJSON ΒΆ added in v0.19.1

func (v *MinWordSizeForTypos) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MinWordSizeForTypos) UnmarshalJSON ΒΆ added in v0.19.1

func (v *MinWordSizeForTypos) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MultiSearchRequest ΒΆ added in v0.24.0

type MultiSearchRequest struct {
	Queries []SearchRequest `json:"queries"`
}

func (MultiSearchRequest) MarshalEasyJSON ΒΆ added in v0.24.0

func (v MultiSearchRequest) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MultiSearchRequest) MarshalJSON ΒΆ added in v0.24.0

func (v MultiSearchRequest) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MultiSearchRequest) UnmarshalEasyJSON ΒΆ added in v0.24.0

func (v *MultiSearchRequest) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MultiSearchRequest) UnmarshalJSON ΒΆ added in v0.24.0

func (v *MultiSearchRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MultiSearchResponse ΒΆ added in v0.24.0

type MultiSearchResponse struct {
	Results []SearchResponse `json:"results"`
}

func (MultiSearchResponse) MarshalEasyJSON ΒΆ added in v0.24.0

func (v MultiSearchResponse) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MultiSearchResponse) MarshalJSON ΒΆ added in v0.24.0

func (v MultiSearchResponse) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MultiSearchResponse) UnmarshalEasyJSON ΒΆ added in v0.24.0

func (v *MultiSearchResponse) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MultiSearchResponse) UnmarshalJSON ΒΆ added in v0.24.0

func (v *MultiSearchResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Pagination ΒΆ added in v0.20.1

type Pagination struct {
	MaxTotalHits int64 `json:"maxTotalHits"`
}

Pagination is the type that represents the pagination setting in Meilisearch

func (Pagination) MarshalEasyJSON ΒΆ added in v0.20.1

func (v Pagination) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Pagination) MarshalJSON ΒΆ added in v0.20.1

func (v Pagination) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Pagination) UnmarshalEasyJSON ΒΆ added in v0.20.1

func (v *Pagination) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Pagination) UnmarshalJSON ΒΆ added in v0.20.1

func (v *Pagination) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type RawType ΒΆ added in v0.13.1

type RawType []byte

RawType is an alias for raw byte[]

func (RawType) MarshalJSON ΒΆ added in v0.13.1

func (b RawType) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*RawType) UnmarshalJSON ΒΆ added in v0.13.1

func (b *RawType) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type SearchRequest ΒΆ

type SearchRequest struct {
	Offset                int64
	Limit                 int64
	AttributesToRetrieve  []string
	AttributesToSearchOn  []string
	AttributesToCrop      []string
	CropLength            int64
	CropMarker            string
	AttributesToHighlight []string
	HighlightPreTag       string
	HighlightPostTag      string
	MatchingStrategy      string
	Filter                interface{}
	ShowMatchesPosition   bool
	ShowRankingScore      bool
	Facets                []string
	PlaceholderSearch     bool
	Sort                  []string
	Vector                []float64
	HitsPerPage           int64
	Page                  int64
	IndexUID              string
	Query                 string
}

SearchRequest is the request url param needed for a search query. This struct will be converted to url param before sent.

Documentation: https://www.meilisearch.com/docs/reference/api/search#search-parameters

func (SearchRequest) MarshalEasyJSON ΒΆ added in v0.13.1

func (v SearchRequest) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (SearchRequest) MarshalJSON ΒΆ added in v0.13.1

func (v SearchRequest) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*SearchRequest) UnmarshalEasyJSON ΒΆ added in v0.13.1

func (v *SearchRequest) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SearchRequest) UnmarshalJSON ΒΆ added in v0.13.1

func (v *SearchRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type SearchResponse ΒΆ

type SearchResponse struct {
	Hits               []interface{} `json:"hits"`
	EstimatedTotalHits int64         `json:"estimatedTotalHits,omitempty"`
	Offset             int64         `json:"offset,omitempty"`
	Limit              int64         `json:"limit,omitempty"`
	ProcessingTimeMs   int64         `json:"processingTimeMs"`
	Query              string        `json:"query"`
	FacetDistribution  interface{}   `json:"facetDistribution,omitempty"`
	TotalHits          int64         `json:"totalHits,omitempty"`
	HitsPerPage        int64         `json:"hitsPerPage,omitempty"`
	Page               int64         `json:"page,omitempty"`
	TotalPages         int64         `json:"totalPages,omitempty"`
	FacetStats         interface{}   `json:"facetStats,omitempty"`
	IndexUID           string        `json:"indexUid,omitempty"`
}

SearchResponse is the response body for search method

func (SearchResponse) MarshalEasyJSON ΒΆ added in v0.13.1

func (v SearchResponse) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (SearchResponse) MarshalJSON ΒΆ added in v0.13.1

func (v SearchResponse) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*SearchResponse) UnmarshalEasyJSON ΒΆ added in v0.13.1

func (v *SearchResponse) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SearchResponse) UnmarshalJSON ΒΆ added in v0.13.1

func (v *SearchResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Settings ΒΆ

type Settings struct {
	RankingRules         []string            `json:"rankingRules,omitempty"`
	DistinctAttribute    *string             `json:"distinctAttribute,omitempty"`
	SearchableAttributes []string            `json:"searchableAttributes,omitempty"`
	DisplayedAttributes  []string            `json:"displayedAttributes,omitempty"`
	StopWords            []string            `json:"stopWords,omitempty"`
	Synonyms             map[string][]string `json:"synonyms,omitempty"`
	FilterableAttributes []string            `json:"filterableAttributes,omitempty"`
	SortableAttributes   []string            `json:"sortableAttributes,omitempty"`
	TypoTolerance        *TypoTolerance      `json:"typoTolerance,omitempty"`
	Pagination           *Pagination         `json:"pagination,omitempty"`
	Faceting             *Faceting           `json:"faceting,omitempty"`
}

Settings is the type that represents the settings in Meilisearch

func (Settings) MarshalEasyJSON ΒΆ added in v0.13.1

func (v Settings) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Settings) MarshalJSON ΒΆ added in v0.13.1

func (v Settings) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Settings) UnmarshalEasyJSON ΒΆ added in v0.13.1

func (v *Settings) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Settings) UnmarshalJSON ΒΆ added in v0.13.1

func (v *Settings) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Stats ΒΆ

type Stats struct {
	DatabaseSize int64                 `json:"databaseSize"`
	LastUpdate   time.Time             `json:"lastUpdate"`
	Indexes      map[string]StatsIndex `json:"indexes"`
}

Stats is the type that represent all stats

func (Stats) MarshalEasyJSON ΒΆ added in v0.13.1

func (v Stats) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Stats) MarshalJSON ΒΆ added in v0.13.1

func (v Stats) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Stats) UnmarshalEasyJSON ΒΆ added in v0.13.1

func (v *Stats) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Stats) UnmarshalJSON ΒΆ added in v0.13.1

func (v *Stats) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type StatsIndex ΒΆ added in v0.9.1

type StatsIndex struct {
	NumberOfDocuments int64            `json:"numberOfDocuments"`
	IsIndexing        bool             `json:"isIndexing"`
	FieldDistribution map[string]int64 `json:"fieldDistribution"`
}

StatsIndex is the type that represent the stats of an index in Meilisearch

func (StatsIndex) MarshalEasyJSON ΒΆ added in v0.13.1

func (v StatsIndex) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (StatsIndex) MarshalJSON ΒΆ added in v0.13.1

func (v StatsIndex) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*StatsIndex) UnmarshalEasyJSON ΒΆ added in v0.13.1

func (v *StatsIndex) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*StatsIndex) UnmarshalJSON ΒΆ added in v0.13.1

func (v *StatsIndex) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type SwapIndexesParams ΒΆ added in v0.22.0

type SwapIndexesParams struct {
	Indexes []string `json:"indexes"`
}

func (SwapIndexesParams) MarshalEasyJSON ΒΆ added in v0.22.0

func (v SwapIndexesParams) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (SwapIndexesParams) MarshalJSON ΒΆ added in v0.22.0

func (v SwapIndexesParams) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*SwapIndexesParams) UnmarshalEasyJSON ΒΆ added in v0.22.0

func (v *SwapIndexesParams) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SwapIndexesParams) UnmarshalJSON ΒΆ added in v0.22.0

func (v *SwapIndexesParams) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Task ΒΆ added in v0.18.0

type Task struct {
	Status     TaskStatus          `json:"status"`
	UID        int64               `json:"uid,omitempty"`
	TaskUID    int64               `json:"taskUid,omitempty"`
	IndexUID   string              `json:"indexUid"`
	Type       TaskType            `json:"type"`
	Error      meilisearchApiError `json:"error,omitempty"`
	Duration   string              `json:"duration,omitempty"`
	EnqueuedAt time.Time           `json:"enqueuedAt"`
	StartedAt  time.Time           `json:"startedAt,omitempty"`
	FinishedAt time.Time           `json:"finishedAt,omitempty"`
	Details    Details             `json:"details,omitempty"`
	CanceledBy int64               `json:"canceledBy,omitempty"`
}

Task indicates information about a task resource

Documentation: https://www.meilisearch.com/docs/learn/advanced/asynchronous_operations

func (Task) MarshalEasyJSON ΒΆ added in v0.18.0

func (v Task) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Task) MarshalJSON ΒΆ added in v0.18.0

func (v Task) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Task) UnmarshalEasyJSON ΒΆ added in v0.18.0

func (v *Task) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Task) UnmarshalJSON ΒΆ added in v0.18.0

func (v *Task) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type TaskInfo ΒΆ added in v0.20.0

type TaskInfo struct {
	Status     TaskStatus `json:"status"`
	TaskUID    int64      `json:"taskUid"`
	IndexUID   string     `json:"indexUid"`
	Type       TaskType   `json:"type"`
	EnqueuedAt time.Time  `json:"enqueuedAt"`
}

TaskInfo indicates information regarding a task returned by an asynchronous method

Documentation: https://www.meilisearch.com/docs/reference/api/tasks#tasks

func (TaskInfo) MarshalEasyJSON ΒΆ added in v0.20.0

func (v TaskInfo) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (TaskInfo) MarshalJSON ΒΆ added in v0.20.0

func (v TaskInfo) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*TaskInfo) UnmarshalEasyJSON ΒΆ added in v0.20.0

func (v *TaskInfo) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*TaskInfo) UnmarshalJSON ΒΆ added in v0.20.0

func (v *TaskInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type TaskResult ΒΆ added in v0.20.0

type TaskResult struct {
	Results []Task `json:"results"`
	Limit   int64  `json:"limit"`
	From    int64  `json:"from"`
	Next    int64  `json:"next"`
	Total   int64  `json:"total"`
}

Return of multiple tasks is wrap in a TaskResult

func (TaskResult) MarshalEasyJSON ΒΆ added in v0.20.0

func (v TaskResult) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (TaskResult) MarshalJSON ΒΆ added in v0.20.0

func (v TaskResult) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*TaskResult) UnmarshalEasyJSON ΒΆ added in v0.20.0

func (v *TaskResult) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*TaskResult) UnmarshalJSON ΒΆ added in v0.20.0

func (v *TaskResult) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type TaskStatus ΒΆ added in v0.18.0

type TaskStatus string

TaskStatus is the status of a task.

const (
	// TaskStatusUnknown is the default TaskStatus, should not exist
	TaskStatusUnknown TaskStatus = "unknown"
	// TaskStatusEnqueued the task request has been received and will be processed soon
	TaskStatusEnqueued TaskStatus = "enqueued"
	// TaskStatusProcessing the task is being processed
	TaskStatusProcessing TaskStatus = "processing"
	// TaskStatusSucceeded the task has been successfully processed
	TaskStatusSucceeded TaskStatus = "succeeded"
	// TaskStatusFailed a failure occurred when processing the task, no changes were made to the database
	TaskStatusFailed TaskStatus = "failed"
	// TaskStatusCanceled the task was canceled
	TaskStatusCanceled TaskStatus = "canceled"
)

type TaskType ΒΆ added in v0.26.0

type TaskType string

TaskType is the type of a task

const (
	// TaskTypeIndexCreation represents an index creation
	TaskTypeIndexCreation TaskType = "indexCreation"
	// TaskTypeIndexUpdate represents an index update
	TaskTypeIndexUpdate TaskType = "indexUpdate"
	// TaskTypeIndexDeletion represents an index deletion
	TaskTypeIndexDeletion TaskType = "indexDeletion"
	// TaskTypeIndexSwap represents an index swap
	TaskTypeIndexSwap TaskType = "indexSwap"
	// TaskTypeDocumentAdditionOrUpdate represents a document addition or update in an index
	TaskTypeDocumentAdditionOrUpdate TaskType = "documentAdditionOrUpdate"
	// TaskTypeDocumentDeletion represents a document deletion from an index
	TaskTypeDocumentDeletion TaskType = "documentDeletion"
	// TaskTypeSettingsUpdate represents a settings update
	TaskTypeSettingsUpdate TaskType = "settingsUpdate"
	// TaskTypeDumpCreation represents a dump creation
	TaskTypeDumpCreation TaskType = "dumpCreation"
	// TaskTypeTaskCancelation represents a task cancelation
	TaskTypeTaskCancelation TaskType = "taskCancelation"
	// TaskTypeTaskDeletion represents a task deletion
	TaskTypeTaskDeletion TaskType = "taskDeletion"
	// TaskTypeSnapshotCreation represents a snapshot creation
	TaskTypeSnapshotCreation TaskType = "snapshotCreation"
)

type TasksQuery ΒΆ added in v0.20.0

type TasksQuery struct {
	UIDS             []int64
	Limit            int64
	From             int64
	IndexUIDS        []string
	Statuses         []TaskStatus
	Types            []TaskType
	CanceledBy       []int64
	BeforeEnqueuedAt time.Time
	AfterEnqueuedAt  time.Time
	BeforeStartedAt  time.Time
	AfterStartedAt   time.Time
	BeforeFinishedAt time.Time
	AfterFinishedAt  time.Time
}

TasksQuery is a list of filter available to send as query parameters

func (TasksQuery) MarshalEasyJSON ΒΆ added in v0.20.0

func (v TasksQuery) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (TasksQuery) MarshalJSON ΒΆ added in v0.20.0

func (v TasksQuery) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*TasksQuery) UnmarshalEasyJSON ΒΆ added in v0.20.0

func (v *TasksQuery) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*TasksQuery) UnmarshalJSON ΒΆ added in v0.20.0

func (v *TasksQuery) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type TenantTokenClaims ΒΆ added in v0.19.0

type TenantTokenClaims struct {
	APIKeyUID   string      `json:"apiKeyUid"`
	SearchRules interface{} `json:"searchRules"`
	jwt.RegisteredClaims
}

Custom Claims structure to create a Tenant Token

func (TenantTokenClaims) MarshalEasyJSON ΒΆ added in v0.19.0

func (v TenantTokenClaims) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (TenantTokenClaims) MarshalJSON ΒΆ added in v0.19.0

func (v TenantTokenClaims) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*TenantTokenClaims) UnmarshalEasyJSON ΒΆ added in v0.19.0

func (v *TenantTokenClaims) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*TenantTokenClaims) UnmarshalJSON ΒΆ added in v0.19.0

func (v *TenantTokenClaims) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type TenantTokenOptions ΒΆ added in v0.19.0

type TenantTokenOptions struct {
	APIKey    string
	ExpiresAt time.Time
}

Information to create a tenant token

ExpiresAt is a time.Time when the key will expire. Note that if an ExpiresAt value is included it should be in UTC time. ApiKey is the API key parent of the token.

func (TenantTokenOptions) MarshalEasyJSON ΒΆ added in v0.19.0

func (v TenantTokenOptions) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (TenantTokenOptions) MarshalJSON ΒΆ added in v0.19.0

func (v TenantTokenOptions) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*TenantTokenOptions) UnmarshalEasyJSON ΒΆ added in v0.19.0

func (v *TenantTokenOptions) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*TenantTokenOptions) UnmarshalJSON ΒΆ added in v0.19.0

func (v *TenantTokenOptions) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type TypoTolerance ΒΆ added in v0.19.1

type TypoTolerance struct {
	Enabled             bool                `json:"enabled,omitempty"`
	MinWordSizeForTypos MinWordSizeForTypos `json:"minWordSizeForTypos,omitempty"`
	DisableOnWords      []string            `json:"disableOnWords,omitempty"`
	DisableOnAttributes []string            `json:"disableOnAttributes,omitempty"`
}

TypoTolerance is the type that represents the typo tolerance setting in Meilisearch

func (TypoTolerance) MarshalEasyJSON ΒΆ added in v0.19.1

func (v TypoTolerance) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (TypoTolerance) MarshalJSON ΒΆ added in v0.19.1

func (v TypoTolerance) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*TypoTolerance) UnmarshalEasyJSON ΒΆ added in v0.19.1

func (v *TypoTolerance) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*TypoTolerance) UnmarshalJSON ΒΆ added in v0.19.1

func (v *TypoTolerance) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Unknown ΒΆ

type Unknown map[string]interface{}

Unknown is unknown json type

type UpdateIndexRequest ΒΆ added in v0.15.0

type UpdateIndexRequest struct {
	PrimaryKey string `json:"primaryKey"`
}

UpdateIndexRequest is the request body for update Index primary key

func (UpdateIndexRequest) MarshalEasyJSON ΒΆ added in v0.15.0

func (v UpdateIndexRequest) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (UpdateIndexRequest) MarshalJSON ΒΆ added in v0.15.0

func (v UpdateIndexRequest) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*UpdateIndexRequest) UnmarshalEasyJSON ΒΆ added in v0.15.0

func (v *UpdateIndexRequest) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*UpdateIndexRequest) UnmarshalJSON ΒΆ added in v0.15.0

func (v *UpdateIndexRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Version ΒΆ

type Version struct {
	CommitSha  string `json:"commitSha"`
	CommitDate string `json:"commitDate"`
	PkgVersion string `json:"pkgVersion"`
}

Version is the type that represents the versions in Meilisearch

func (Version) MarshalEasyJSON ΒΆ added in v0.13.1

func (v Version) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Version) MarshalJSON ΒΆ added in v0.13.1

func (v Version) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Version) UnmarshalEasyJSON ΒΆ added in v0.13.1

func (v *Version) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Version) UnmarshalJSON ΒΆ added in v0.13.1

func (v *Version) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type WaitParams ΒΆ added in v0.19.0

type WaitParams struct {
	Context  context.Context
	Interval time.Duration
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL