Skip to content

Changes regarding Meilisearch v1.1.0  #251

Closed
@brunoocasali

Description

@brunoocasali

This issue gathers the changes related to the v1.1.0 of Meilisearch that will impact the integrations team.

📅 Release date: April 3rd, 2023

The whole milestone of v1.1.0 is here!

⚠️ The SDKs, which should be done by the release date, are only tier #1. Some of the features described here for tier #2 will also be ready for the release day. Check the features below to understand which tier will receive which feature.

🖖 Click here to check the current tiers state of the integrations:
Understand everything about tiers here.

Integration Tier
Javascript #1
PHP #1
Instant Meilisearch #1
Python #1
Go #1
Strapi #2
Ruby #2
Rails #2
.NET #2
Rust #2
Symfony #3
docs-searchbar.js #3
Firebase #3
Dart #3
Java #3
Swift #3
Vuepress #3
Gatsby #3

⚠️ If no change in the public API is added during the bump pull requests, there is no need for a new release, according to the Integrations team's versioning policy guideline.


tiers - #1 tiers - #2 Configure the CSV delimiter when updating documents

Related to:

Add support for passing csvDelimiter query parameter to the PUT and POST /indexes/:indexUid/documents (example of the real method names: updateDocuments, addDocuments).

Also, a new error code is introduced, invalid_document_csv_delimiter. Pay attention to the strongly typed languages.

🤩 Affected integrations: All the integrations from tier #1, and all the integrations from tier #2 that can process csv inputs.


tiers - #1 tiers - #2 Perform multiple searches in one single HTTP request

Related to:

Create a new client method called multiSearch/multi_search, which will request POST /multi-search with a body payload containing a structure similar to this:

{
   "queries": [ 
      { "indexUid": "movie", "q": "wonder", "limit": 10 }, 
      { "indexUid": "books", "q": "king", "page": 2 } 
    ]
}

Each object is a simple search object sent in the POST /indexes/:indexUid/search request.

Pay attention to the response, which will follow the order of the requests object and will look like this (note the new indexUid key in the response):

{
   "results": [ 
      {
         "indexUid": "movie",
         "hits": [ { "title": "wonderwoman" } ],
         // other search results fields: processingTimeMs, limit, ...
      },
      {
         "indexUid": "books",
         "hits": [ { "title": "king kong theory" } ],
         // other search results fields: processingTimeMs, limit, ...
      },
   ]
}

🤩 Affected integrations: All the integrations from tier #1, and all the integrations from tier #2.


tiers - #1 tiers - #2 tiers - #3 Allow usage of wildcards * at the end of index names when creating tenant tokens & keys.

Related to:

Please only make sure the test suite is still working. Also, there is no need to add a new test case.

🤩 Affected integrations: All the integrations from tier #1, tier #2 and tier #3.


tiers - #1 Add support for _geoBoundingBox search filter.

Related to:

Add support for sending _geoBoundingBox parameter to the filter array parameter of the POST /indexes/:indexUid/search (and also to POST /multi-search) request.

Search request body example:

{ "q": "omega restaur", "filter": ["_geoBoundingBox([{lat, lng}], [{lat}, {lng}])"] } 

🤩 Affected integrations: All the integrations from tier #1.


tiers - #1 tiers - #2 tiers - #3 Fix any possible workarounds regarding the support to null values in a geo field

Related to:

Affected client methods (e.g: updateDocuments and addDocuments).

When indexing documents with the geosearch enabled, sending a field set to null is common if it does not have the location. (especially in strongly typed languages).
Currently, in v1.0, we throw an error if this happens, but now it is accepted as not geo-faceted.

Please only make sure the test suite is still working. Also, if the integration removed any workaround regarding the support of this situation, create a new test use case to cover the new behavior.

🤩 Affected integrations: All the integrations from tier #1, tier #2, and tier #3 (especially strongly typed ones or with support for optionals).


tiers - #1 Add support for the new stats from numerical facets like min, max

Related to:

This feature will affect instant-meilisearch more than any other integration. For the other integrations, make sure the test suite is still passing. And also if the SDK has a proper way to access the new facetStats information.
And there is no need to add a new test use case for this feature. Only add a few assertions in the existing tests that use facets. If they exist, it will be enough.

🤩 Affected integrations: All the integrations from tier #1.


Enable /metrics experimental feature

Related to:

Make it possible to access this experimental route data, through the Kubernetes chart, by introducing a new resource of a kind, ServiceMonitor, from monitoring.coreos.com/v1.

🤩 Affected integrations: Only meilisearch-kubernetes.

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