{"id":20528215,"url":"https://github.com/manticoresoftware/manticoresearch-go","last_synced_at":"2025-04-14T04:50:55.269Z","repository":{"id":92258919,"uuid":"256103013","full_name":"manticoresoftware/manticoresearch-go","owner":"manticoresoftware","description":"Official Go client for Manticore Search","archived":false,"fork":false,"pushed_at":"2025-03-12T09:42:01.000Z","size":384,"stargazers_count":38,"open_issues_count":2,"forks_count":3,"subscribers_count":12,"default_branch":"dev","last_synced_at":"2025-03-27T18:52:25.459Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manticoresoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-16T03:49:09.000Z","updated_at":"2025-03-12T09:42:04.000Z","dependencies_parsed_at":"2024-02-05T16:26:48.373Z","dependency_job_id":"6e1c0437-6b9e-44b5-9932-d1878a2af84b","html_url":"https://github.com/manticoresoftware/manticoresearch-go","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manticoresoftware%2Fmanticoresearch-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manticoresoftware%2Fmanticoresearch-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manticoresoftware%2Fmanticoresearch-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manticoresoftware%2Fmanticoresearch-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manticoresoftware","download_url":"https://codeload.github.com/manticoresoftware/manticoresearch-go/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248824694,"owners_count":21167343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T23:23:58.820Z","updated_at":"2025-04-14T04:50:55.262Z","avatar_url":"https://github.com/manticoresoftware.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Manticorer Go client\n\nСlient for Manticore Search.\n\n❗ WARNING: this is a development version of the client. The latest release's readme is https://github.com/manticoresoftware/manticoresearch-go/tree/v1.8.0\n\n## Compatibility Table\n\n| **manticoresearch-go**    | **Manticore Search**                | **Go**           | **Compatibility**       |\n| --------------------------| ----------------------------------- | -----------------| ------------------------|\n| `dev`                     | `dev` (latest development version)  | 1.17.0 or newer  | ✅ Fully Compatible     |\n| v1.7.0 or newer           | 9.2.14 or newer                     | 1.17.0 or newer  | ✅ Fully Compatible     |\n| v1.6.0 to v1.7.0          | 9.2.14 or newer                     | 1.17.0 or newer  | ⚠️ Partially Compatible |\n| v1.6.0 to v1.7.0          | 7.0.0 to 9.2.14                     | 1.17.0 or newer  | ✅ Fully Compatible     |\n| v1.6.0 to v1.7.0          | 6.2.12 to 7.0.0                     | 1.17.0 or newer  | ⚠️ Partially Compatible |\n| v1.0.0 to v1.6.0          | 6.3.6  to 7.0.0                     | 1.17.0 or newer  | ✅ Fully Compatible     |\n| v1.0.0 to v1.6.0          | 6.2.12 to 6.3.6                     | 1.17.0 or newer  | ⚠️ Partially Compatible |\n\n\n## Installation\n\n```shell\n\ngo get github.com/manticoresoftware/manticoresearch-go@dev\n\n```\n\n## Getting Started\n\ngo mod init main\ngo get github.com/manticoresoftware/manticoresearch-go@dev\n\n```go\n\npackage main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\tManticoresearch \"github.com/manticoresoftware/manticoresearch-go\"\n)\n\nfunc main() {\n\n\t// Create an instance of API client\n\tconfiguration := Manticoresearch.NewConfiguration()\n\tconfiguration.Servers[0].URL = \"http://localhost:9308\"\n\tapiClient := Manticoresearch.NewAPIClient(configuration)\n\t\n\t// Perform insert and search operations\n\ttableName := \"products\"\n\tindexDoc := map[string]interface{} {\"title\": \"Crossbody Bag with Tassel\"}\n\tindexReq := Manticoresearch.NewInsertDocumentRequest(tableName, indexDoc)\n\tindexReq.SetId(1)\n\t\n\tapiClient.IndexAPI.Insert(context.Background()).InsertDocumentRequest(*indexReq).Execute();\n\t\n\tsearchRequest := Manticoresearch.NewSearchRequest(tableName)\n\tsearchQuery := Manticoresearch.NewSearchQuery()\n\tsearchQuery.QueryString = \"@title Bag\"\n\tsearchRequest.Query = searchQuery\n\tqueryHighlight := Manticoresearch.NewHighlight()\n\tqueryHighlight.Fields =  map[string]interface{} {\"title\": map[string]interface{} {}}\n\tsearchRequest.Highlight = queryHighlight      \n\t\n\t_, httpRes, _ := apiClient.SearchAPI.Search(context.Background()).SearchRequest(*searchRequest).Execute()\n\tfmt.Printf(\"%+v\\n\\n\", httpRes)\n}\n```\n\n## Configuration of Server URL\n\nDefault configuration comes with `Servers` field that contains server objects as defined in the OpenAPI specification.\n\n### Select Server Configuration\n\nFor using other server than the one defined on index 0 set context value `openapi.ContextServerIndex` of type `int`.\n\n```go\nctx := context.WithValue(context.Background(), openapi.ContextServerIndex, 1)\n```\n\n### Templated Server URL\n\nTemplated server URL is formatted using default variables from configuration or from context value `openapi.ContextServerVariables` of type `map[string]string`.\n\n```go\nctx := context.WithValue(context.Background(), openapi.ContextServerVariables, map[string]string{\n\t\"basePath\": \"v2\",\n})\n```\n\nNote, enum values are always validated and all unused variables are silently ignored.\n\n### Using proxy\n\nTo use a proxy, set the environment variable `HTTP_PROXY`:\n\n```go\nos.Setenv(\"HTTP_PROXY\", \"http://proxy_name:proxy_port\")\n```\n\nMore details on the use of `HTTP_PROXY` can be found [here](https://www.cyberciti.biz/faq/linux-unix-set-proxy-environment-variable/)\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *http://127.0.0.1:9308*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*IndexAPI* | [**Bulk**](docs/IndexAPI.md#bulk) | **Post** /bulk | Bulk table operations\n*IndexAPI* | [**Delete**](docs/IndexAPI.md#delete) | **Post** /delete | Delete a document in a table\n*IndexAPI* | [**Insert**](docs/IndexAPI.md#insert) | **Post** /insert | Create a new document in a table\n*IndexAPI* | [**PartialReplace**](docs/IndexAPI.md#partialreplace) | **Post** /{table}/_update/{id} | Partially replaces a document in a table\n*IndexAPI* | [**Replace**](docs/IndexAPI.md#replace) | **Post** /replace | Replace new document in a table\n*IndexAPI* | [**Update**](docs/IndexAPI.md#update) | **Post** /update | Update a document in a table\n*SearchAPI* | [**Autocomplete**](docs/SearchAPI.md#autocomplete) | **Post** /autocomplete | Performs an autocomplete search on a table\n*SearchAPI* | [**Percolate**](docs/SearchAPI.md#percolate) | **Post** /pq/{table}/search | Perform reverse search on a percolate table\n*SearchAPI* | [**Search**](docs/SearchAPI.md#search) | **Post** /search | Performs a search on a table\n*UtilsAPI* | [**Sql**](docs/UtilsAPI.md#sql) | **Post** /sql | Perform SQL requests\n\n\n## Documentation For Models\n\n - [AggComposite](docs/AggComposite.md)\n - [AggCompositeSource](docs/AggCompositeSource.md)\n - [AggCompositeTerm](docs/AggCompositeTerm.md)\n - [AggTerms](docs/AggTerms.md)\n - [Aggregation](docs/Aggregation.md)\n - [AutocompleteRequest](docs/AutocompleteRequest.md)\n - [BoolFilter](docs/BoolFilter.md)\n - [BulkResponse](docs/BulkResponse.md)\n - [DeleteDocumentRequest](docs/DeleteDocumentRequest.md)\n - [DeleteResponse](docs/DeleteResponse.md)\n - [ErrorResponse](docs/ErrorResponse.md)\n - [FulltextFilter](docs/FulltextFilter.md)\n - [GeoDistance](docs/GeoDistance.md)\n - [GeoDistanceLocationAnchor](docs/GeoDistanceLocationAnchor.md)\n - [Highlight](docs/Highlight.md)\n - [HighlightFieldOption](docs/HighlightFieldOption.md)\n - [HitsHits](docs/HitsHits.md)\n - [InsertDocumentRequest](docs/InsertDocumentRequest.md)\n - [Join](docs/Join.md)\n - [JoinCond](docs/JoinCond.md)\n - [JoinOn](docs/JoinOn.md)\n - [KnnQuery](docs/KnnQuery.md)\n - [Match](docs/Match.md)\n - [MatchAll](docs/MatchAll.md)\n - [ModelRange](docs/ModelRange.md)\n - [PercolateRequest](docs/PercolateRequest.md)\n - [PercolateRequestQuery](docs/PercolateRequestQuery.md)\n - [QueryFilter](docs/QueryFilter.md)\n - [ReplaceDocumentRequest](docs/ReplaceDocumentRequest.md)\n - [ResponseError](docs/ResponseError.md)\n - [ResponseErrorDetails](docs/ResponseErrorDetails.md)\n - [SearchQuery](docs/SearchQuery.md)\n - [SearchRequest](docs/SearchRequest.md)\n - [SearchResponse](docs/SearchResponse.md)\n - [SearchResponseHits](docs/SearchResponseHits.md)\n - [SourceRules](docs/SourceRules.md)\n - [SqlObjResponse](docs/SqlObjResponse.md)\n - [SqlResponse](docs/SqlResponse.md)\n - [SuccessResponse](docs/SuccessResponse.md)\n - [UpdateDocumentRequest](docs/UpdateDocumentRequest.md)\n - [UpdateResponse](docs/UpdateResponse.md)\n\n\n## Documentation For Authorization\n\nEndpoints do not require authorization.\n\n## Documentation for Utility Methods\n\nDue to the fact that model structure members are all pointers, this package contains\na number of utility functions to easily obtain pointers to values of basic types.\nEach of these functions takes a value of the given basic type and returns a pointer to it:\n\n* `PtrBool`\n* `PtrInt`\n* `PtrInt32`\n* `PtrInt64`\n* `PtrFloat`\n* `PtrFloat32`\n* `PtrFloat64`\n* `PtrString`\n* `PtrTime`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanticoresoftware%2Fmanticoresearch-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanticoresoftware%2Fmanticoresearch-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanticoresoftware%2Fmanticoresearch-go/lists"}