Skip to content

Changes related to MeiliSearch v0.21.0 #117

@curquiza

Description

@curquiza

This issue gathers the changes related to the v0.21.0 of MeiliSearch that will impact the integrations

Ranaming of buildDate into commitDate

Related to meilisearch/transplant#138.

Will impact all the SDKs implementing the method for /version route.

New update status value

Related to meilisearch/transplant#107.

The new status for an update are:

  • enqueued: the update is enqueued and will start to be processed soon
  • processing: the update is processing.
  • processed: the update is processed and it succeeded.
  • failed: A failure occurred during when processing.

Will impact all the SDKs:

  • About the update status is the status is declared as an enum
  • The waitForPendingUpdate method

The waitForPendingUpdate must now check if the status of the update is different from enqueued or processing, not only enqueued.

New ranking rules

Related to meilisearch/transplant#85

Will impact some tests in some SDKs
Will also impact docs-scraper

Phrase search

Related to meilisearch/transplant#198

The SDK should test the phrase search, I mean the SDK can handle " in the q parameter, like:

{
  "q": "coco \"harry\""
}

⚠️ No need to check the relevancy, only the " can be handled.

Filterable attributes

Related to meilisearch/transplant#187

attributesForFaceting is renamed into filterableAttributes.

⚠️ This impacts SDKs but also back-end integrations in the READMEs/Wikis and even in the codebases.

⚠️ Some key in code-samples.yml will change! Don't forget to update the keys!

Filtering

Related to meilisearch/transplant#81 and meilisearch/transplant#140

⚠️ This impacts SDKs but also a lot instant-meilisearch!

  • filters is renamed into filter
  • facetFilters is removed
  • filter can accept both syntaxes: array of string and string -> the tests should check both syntaxes are handled
  • The users need to pass the attributes they want to filter on into filterableAttributes -> it might impact the instant-meilisearch README?
  • You can now filter/facet on numbers -> it means new components are now compatible with instant-meilisearch!

New fields in dumps routes

Related to meilisearch/transplant#20

  • 2 fields have been added when calling the GET /dumps/:uid/status route: startedAt and finishedAt
    ex:
curl -X GET 'http://localhost:7700/dumps/20210601-144339391/status'
{
    "uid": "20210601-144339391",
    "status": "done",
    "startedAt": "2021-06-01T14:43:39.392327Z",
    "finishedAt": "2021-06-01T14:43:43.793802Z"
}
  • 1 new field has been added when calling the POST /dumps route: startedAt
    ex:
curl -X POST 'http://localhost:7700/dumps'
{
    "uid": "20210601-144339391",
    "status": "in_progress",
    "startedAt": "2021-06-01T14:43:39.392327Z"
}

Impacts SDKs and tests.

Rename fieldsDistribution into fieldDistribution

Related to: meilisearch/transplant#188

Rename fieldsDistribution into fieldDistribution.

Impacts SDKs and tests.

Stop-words and synonyms accept null

Related to meilisearch/transplant#217

The user can pass the null value when updating the settings (using POST). This resets the setting to its default value.

In MeilISearch v0.20 this behavior is possible for all the settings except the synonyms and the stop-words. The v0.21.0 should make all the settings consistent by allowing the null value when updating.

Impacts SDK tests -> we should add tests to check we can pass a null value when updating the synonyms and the stop-words. The tests for the other settings (when passing a null value`) are already done thanks to @alallema!

0 value are not present in facetsDistribution

Related to meilisearch/transplant#234

This might impact SDK tests.

exhaustiveFacetsCount always returns false

Related to meilisearch/transplant#236

This might impact SDK tests

TODO

SDKs:

  • meilisearch-dart
  • meilisearch-dotnet
  • meilisearch-go
  • meilisearch-java
  • meilisearch-js
  • meilisearch-php
  • meilisearch-python
  • meilisearch-ruby
  • meilisearch-rust
  • meilisearch-swift

Front-end:

  • instant-meilisearch

Back-end:

  • meilisearch-rails
  • meilisearch-symfony

Misc:

  • docs-scraper

🔥🔥🔥 Don't forget the code-samples and the READMEs 🔥🔥🔥

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions