Releases: meilisearch/meilisearch-go
v0.26.3 ๐น
๐ Enhancements
- Implement vector search experimental feature (#517) @jackielii
- Alligned
SearchRequest.Vectortype to[]float32(#524) @LGXerxes - Add new search param showRankingScoreDetails (#528) @Tommy-42
๐ Bug Fixes
- Fix issue with ticker leaking CPU, optimize (#523) @thisisdev-patrick
โ๏ธ Maintenance/misc
- Apply cov range to avoid flaky failures (#525) @brunoocasali
Thanks again to @LGXerxes, @Tommy-42, @brunoocasali, @curquiza, @jackielii, @thisisdev-patrick! ๐
v0.26.2 ๐น
v0.26.1 ๐น
๐ Enhancements
- Add
DumpUidfield fordumpCreationtask. (#499) @fitimvata
โ๏ธ Maintenance/misc
- Update tests related to the next Meilisearch release (v1.6.0) (#503)
Thanks again to @brunoocasali, @curquiza, @fitimvata, ! ๐
v0.26.0 ๐น
โ ๏ธ Breaking changes: Enhanced Enumeration for Task Types & Statuses
The Meilisearch Go client has undergone a significant enhancement in how it handles task types and statuses. In prior versions, developers interfaced with tasks using generic strings. This methodology, while functional, lacked clarity and posed maintenance challenges.
TaskType and TaskStatus have transitioned from generic strings to definitive constants. This change augments code clarity, minimizes potential errors, and paves the way for smoother future updates.
Quick Exemple
// Before:
taskType := "documentDeletion"
...
// After:
taskType := meilisearch.TaskTypeDocumentDeletionReal world example
// Before:
func Before() {
resp, _ := meilisearchClient.GetTasks(&meilisearch.TasksQuery{
Statuses: []string("enqueued", "processing"),
Types: []string("documentDeletion", "documentAdditionOrUpdate"),
})
for _, task := range resp.Results {
if task.Status == "processing" {
// ...
}
if task.Type == "documentDeletion" {
// ...
}
}
}
// After:
func After() {
resp, _ := meilisearchClient.GetTasks(&meilisearch.TasksQuery{
Statuses: []meilisearch.TaskStatus{
meilisearch.TaskStatusEnqueued,
meilisearch.TaskStatusProcessing,
},
Types: []meilisearch.TaskType{
meilisearch.TaskTypeDocumentDeletion,
meilisearch.TaskTypeDocumentAdditionOrUpdate,
},
})
for _, task := range resp.Results {
if task.Status == meilisearch.TaskStatusProcessing {
// ...
}
if task.Type == meilisearch.TaskTypeDocumentDeletion {
// ...
}
}
}๐ Enhancements
Thanks again to @42atomys, @curquiza, @datbeohbbh, and @tadejsv! ๐
v0.25.1 ๐น
๐ Enhancements
- Add support for attributesToSearchOn (v1.3) (#458) @barribarrier
- Add Total Tasks in task route #636 (#475) @tonyghouse
- Add support for rankingScore (v1.3) (#477) @aooohan
- Add support for vectorSearch (v1.3) (#483) @luigibarbato
๐ Bug Fixes
Thanks again to @Azanul, @Esmeralda-lad, @alallema, @aooohan, @barribarrier, @brunoocasali, @curquiza, @luigibarbato, @manujz, and @tonyghouse! ๐
v0.25.0 ๐น
Release CHANGELOG:
This version introduces features released on Meilisearch v1.2.0 ๐
Check out the changelog of Meilisearch v1.2.0 for more information on the changes.
๐ Enhancements
-
Addition of the method
DeleteDocumentsByFilter, this method takes aninterface{}which allows you to send different types of filters (string,[]string,[]interface{}{[]string{}}, ...). Thefilterfield works precisely like thefilterfield used on the search method. See the docs on how to use filters. #440 @alallemaโ ๏ธ You must configure the attributes you want to filter using theIndex.UpdateFilterableAttributes().
โ ๏ธ Remember to update your Meilisearch server to v1.2.0 or newer before adopting it. -
Add the ability to add
Filterin theDocumentsQuery. When a query with afilteris sent togetDocuments, it will filter the documents like thesearchmethod. See the docs on how to use filters. #439 @alallemaโ ๏ธ You must configure the attributes you want to filter using theIndex.UpdateFilterableAttributes().
โ ๏ธ Remember to update your Meilisearch server to v1.2.0 or newer before adopting it.
v0.24.0 ๐น
This version introduces features released on Meilisearch v1.1.0 ๐
Check out the changelog of Meilisearch v1.1.0 for more information on the changes.
๐ Bug Fixes
- fix(indexes): Fill in
clientforGetIndexesresults (#426) @candiduslynx
โ ๏ธ Breaking changes
- Add the ability to provide a specific
csv-delimiterwhen adding and updating documents in CSV format (#424) @alallema- New type
CsvDocumentsQuery{} - Changed
AddDocumentsCsv()which takesCsvDocumentsQueryas a parameter instead of a...string - Changed
AddDocumentsCsvInBatches()which takesCsvDocumentsQueryas a parameter instead of a...string - Changed
UpdateDocumentsCsv()which takesCsvDocumentsQueryas a parameter instead of a...string - Changed
UpdateDocumentsCsvInBatches()which takesCsvDocumentsQueryas a parameter instead of a...string
- New type
๐ Enhancements
- Add FacetStats field in SearchResponse (#423) @alallema
- New method
client.MultiSearch()provides the possibility to make multiple requests at once (#422) @alallema
Example:
client.MultiSearch(&MultiSearchRequest{
Queries: []SearchRequest{
{
IndexUID: "movies",
Query: "pooh",
Limit: 5,
},
{
IndexUID: "movies",
Query: "nemo",
Limit: 5,
},
{
IndexUID: "movie_ratings",
Query: "us",
},
},
})Thanks again to @alallema, @candiduslynx ! ๐
v0.23.1 ๐น
๐ Enhancements
- Implement
UpdateDocumentmethods for CSV & NdJson (#408) @AzanulUpdateDocumentsCsvUpdateDocumentsCsvInBatchesUpdateDocumentsNdjsonUpdateDocumentsNdjsonInBatches
๐ Bug Fixes
- Avoid panic when sending
(...[]string{})inAddDocument()(#417) @bestgopher
Thanks again to @Azanul, @alallema, @bestgopher, @brunoocasali! ๐
v0.23.0 ๐น
This version makes this package compatible with Meilisearch v1.0.0 ๐
Check out the changelog of Meilisearch vv1.0.0 for more information on the changes(#405).
โ ๏ธ Breaking changes
- KeyParsed struct has been changed; this structure is used to manage the time format when creating a key, however, all the
Keyfields were available in the structure, while only those used to create a key should be available in it.createdAthas been removedupdatedAthas been removed
Thanks again to @Thearas, @alallema, @bidoubiwa! ๐
v0.22.0 ๐น
This version makes this package compatible with Meilisearch v0.30.0 ๐
Check out the changelog of Meilisearch v0.30.0 for more information on the changes(#382).
โ ๏ธ Breaking change
- Parameters on
GetTasksname changes: #390Status->StatusesIndexUID->IndexUIDSType->Types
๐ Enhancements
- New
paginationstrategy with the search parametersPageandHitsPerPage#392 - New filters on
GetTasks:UID,BeforeEnqueuedAt,AfterEnqueuedAt, ... see #390 - New
client.CancelTasksmethod that lets you cancelenqueuedandprocessingtasks #395 - New
client.DeleteTasksmethod that lets you delete tasks #396 - New
client.SwapIndexesmethod that lets you swap two indexes #397 - New fields on
Task.Details#395
Thanks again to @alallema! ๐