-
Notifications
You must be signed in to change notification settings - Fork 14
Description
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!
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 |
Configure the CSV delimiter when updating documents
Related to:
- issue: Configure the CSV delimiter meilisearch#3442 and Update the error code of the csv delimiter meilisearch#3533
- spec: Documents API — Support a csv delimiter customization specifications#221
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.
Perform multiple searches in one single HTTP request
Related to:
- issue: Perform multiple searches in a single query meilisearch#3427
- spec: Multi Search API specifications#225
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.
Allow usage of wildcards * at the end of index names when creating tenant tokens & keys.
Related to:
- issue: Allow wildcard (
*) at the end of the index names when creating tenant tokens meilisearch#2908 and Use wildcard (*) at the end of the index names when creating API keys meilisearch#2788 - spec: API Keys - Introduce
*wildcard char at the last position to express access to multiple indexes starting with the same string specifications#189 and API Keys - Introduce*wildcard char at the last position to express access to multiple indexes starting with the same string specifications#189
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.
Add support for _geoBoundingBox search filter.
Related to:
- issue: Improve geo-search: introduction of
_geoBoundingBoxmeilisearch#2761 - spec: GeoSearch — Add the
_geoBoundingBoxbuilt-in filter specifications#223
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.
Fix any possible workarounds regarding the support to null values in a geo field
Related to:
- issue: Handle
"_geo": nullinstead of throwing an error meilisearch#3497 - spec: Geosearch — Accept
nullfor the_geofield specifications#222
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).
Add support for the new stats from numerical facets like min, max
Related to:
- issue: Return stats for numerical facets like
min,maxmeilisearch#3426 - spec: Search API — Add
facetStatsdescription specifications#224
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:
- issue: Experimental feature: Metrics meilisearch#3523
- spec: Metrics API — Introduce a
/metricsroute for observability / monitoring purposes specifications#174 - related: ServiceMonitor resource for Prometheus scraping meilisearch-kubernetes#153
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.