Skip to content

Changes regarding Meilisearch v0.28.0 #205

@brunoocasali

Description

@brunoocasali

This issue gathers the changes related to the v0.28.0 of Meilisearch that will impact the integrations team.

Release date: July 11, 2022

The whole milestone of v0.28.0 is here!


Changes related to the keys management

Related to:

All the changes:

  • GET /keys has pagination metadata, added limit (default: 20), offset (default: 0), total.
  • GET /keys/:uid_or_key can receive either a :uid or :key to find the key, not just the :key how it used to be.
  • DELETE /keys/:uid_or_key can receive either a :uid or :key to find the key, not just the :key how it used to be.
  • PATCH /keys/:uid_or_key can receive either a :uid or :key to find the key, not just the :key how it used to be.
  • Add the possibility to specify :uid to generate deterministic API keys if null Meilisearch generates one. It must be a UUID v4 value.
  • Add a :name attribute to the resource (can be null).
  • Add new values to the actions attribute: keys.get, keys.create, keys.update and keys.delete.
  • PATCH /keys/:uid_or_key can update only name and description fields.
  • apiKeyPrefix claim is now named apiKeyUid and expects the uid of the signing API key as a value.
  • Replace masterKey from README.md Getting started section (and others maybe?) with only apiKey.

Changes related to the HTTP verbs

Related to:

To be more compliant with the RESTful good practices we must change the following verbs:

  • PATCH /indexes/{indexUid} instead of PUT
  • PATCH /indexes/{indexUid}/settings instead of POST
  • PATCH /indexes/{indexUid}/settings/typo-tolerance instead of POST
  • PUT /indexes/{indexUid}/settings/displayed-attributes instead of POST
  • PUT /indexes/{indexUid}/settings/distinct-attribute instead of POST
  • PUT /indexes/{indexUid}/settings/filterable-attributes instead of POST
  • PUT /indexes/{indexUid}/settings/ranking-rules instead of POST
  • PUT /indexes/{indexUid}/settings/searchable-attributes instead of POST
  • PUT /indexes/{indexUid}/settings/sortable-attributes instead of POST
  • PUT /indexes/{indexUid}/settings/stop-words instead of POST
  • PUT /indexes/{indexUid}/settings/synonyms instead of POST

Changes related to the tasks resources

Related to:

All the changes:

  • Remove GET /indexes/:indexUid/tasks. Use GET /tasks?indexUid=:indexUid instead.
  • Remove GET /indexes/:indexUid/tasks/:taskUid. Use GET /tasks/:taskUid instead.
  • Rename uid to taskUid in the 202 - Accepted task response return by every asynchronous tasks (ex: index creation, document addition...)
  • The field indexUid can be null.
  • Add pagination to GET /tasks based in this specification using limit, from, next metadata in the response.
  • Rename these task types:
    • documentPartial -> documentAdditionOrUpdate
    • documentAddition -> documentAdditionOrUpdate
    • clearAll -> documentDeletion
  • Possibility to filter the results:
    • In the endpoint GET /tasks we can filter by: type, status and indexUid.
    • We need to join the array values when filter by status like this: enqueued,processing.

Changes related to the search

Related to:

All the changes:

  • Rename nbHits response parameter to estimatedTotalHits.
  • Delete exhaustiveNbHits response parameter.
  • Delete exhaustiveFacetsCount response parameter.
  • matches request parameter is renamed showMatchesPosition.
  • _matchesInfo response parameter is renamed _matchesPosition.
  • facetsDistribution request parameter is renamed facets.
  • facetsDistribution response parameter is renamed facetDistribution.

Changes related to the indexes resources

Related to:

All the changes:

  • Remove the name field in the index.
  • Wrap the indexes objects in a results key.
  • GET /indexes has pagination metadata, added limit (default: 20), offset (default: 0), total.

Changes related to the documents resources

Related to:

All the changes:

  • GET /documents/:uid, GET /documents Add the possibility to reduce the body payload by using a query parameter called fields (previously called attributesToRetrieve), check the issue and the spec for the entire behavior.
  • Wrap the objects in a results key.
  • GET /documents has pagination metadata, added limit (default: 20), offset (default: 0), total.
  • ⚠️ The displayedAttributes settings do not impact anymore the displayed fields returned in the /documents endpoints. These settings only affect the /search endpoint.

Changes related to the dumps resources

Related to:

All the changes:

  • Remove code sample get_dump_status_1
  • Remove method get dump status.
  • A dump creation now responds with a task object from type dumpCreation.
  • The error dump_already_processing don't need to be handled.

Changes regarding the smart crop behavior

Related to:

⚠️ we must ensure our tests pass after this behavioral change.


Fix tests regarding two new settings, pagination and faceting

Related to:

According to the issues above, we must ensure our tests pass after adding the two new settings.
⚠️ These settings should not be implemented right now ⚠️. We will do that later in coop between the Integrations team and our community ❤️.
Since we have some tests that rely on the result of the GET /settings API result, we should make them pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Meilisearch bumpChanges related to the Meilisearch bump version

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions