Changes regarding Meilisearch v1.3.0
Closed this issue · 4 comments
This issue gathers the changes related to the v1.3.0 of Meilisearch that will impact the integrations team.
📅 Release date: July 31th, 2023
The whole milestone of v1.3.0 is here!
tier #1
. Some of the features described may be done for tier #2
but will not 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 | #2 |
Ruby | #2 |
Go | #2 |
Strapi | #2 |
.NET | #2 |
Rails | #2 |
Rust | #2 |
Symfony | #3 |
Java | #3 |
Firebase | #3 |
docs-searchbar.js | #3 |
Dart | #3 |
Swift | #3 |
Vuepress | #3 |
Gatsby | #3 |
To ensure we still deliver stability to our users and have ways to innovate. Meilisearch has a way to opt-in for experimental features. The user must query a particular route and enable/disable those features.
The SDKs receiving the experimental features will likely change soon (a.k.a: breaking changes), which will not trigger a major version update.
So, before adopting a experimental feature, be sure what you're doing.
[EXPERIMENTAL] Vector Store
Related to:
It allows the user to store dense vectors to be retrieved later during search time.
What needs to be changed:
- Ensure sending the
vector
key during the search works:client.index('myindex').search('query', { vector: [0.1, ...] })
- Ensure it is possible to send during the data ingestion the
_vectors
special field in the documents:client.index('myindex').add_documents({ _vectors: [0.1, ...] })
- The response can contain a
vector
key similar to theq
key.
PATCH /experimental-features
with { "vectorStore": true }
Extra: Add inline documentation for the method, explaining the availability of this feature only for Meilisearch v1.3 and newer. And that is also an experimental feature that needs to be opt-in manually using the /experimental-features
meilisearch/meilisearch#3857 endpoint.
🤩 Affected integrations: All the integrations from tier #1
and tier #2
(Python).
Define fields to search on at search-time
Related to:
- issue: meilisearch/meilisearch#3772
- discussion: meilisearch/product#107 (comment)
- spec: meilisearch/specifications#251
Add support for receiving a new key, attributesToSearchOn
(which is an array of field names), that will enable running searches over a subset of searchableAttributes
without modifying Meilisearch’s index settings.
🤩 Affected integrations: All the integrations from tier #1
.
Display hits' ranking scores
Related to:
- issue: meilisearch/meilisearch#3771
- discussion: meilisearch/product#594
- spec: meilisearch/specifications#252
This feature aims to return ranking details for each document to understand and tweak the score of the documents more efficiently.
Ensure the SDKs can handle the new search parameter showRankingScore
. Also, ensure the SDK can handle the _rankingScore
attribute in the matched hits
.
🤩 Affected integrations: All the integrations from tier #1
.
[EXPERIMENTAL] Display ranking details at search
Related to:
This feature aims to return ranking details for each document to understand and tweak the score of the documents more easily.
Ensure the SDKs can handle the new search parameter showRankingScoreDetails
. Also ensure the SDK can handle the _rankingScoreDetails
attributes in the matched hits
.
PATCH /experimental-features
with { "scoreDetails": true }
Extra: Add inline documentation for the method, explaining the availability of this feature only for Meilisearch v1.3 and newer. And that is also an experimental feature that must be manually opt-in using the /experimental-features
meilisearch/meilisearch#3857 endpoint.
🤩 Affected integrations: All the integrations from tier #1
.
Sort facets value by alphanumerical or count order
Related to:
- issue: meilisearch/meilisearch#3612
- discussion: meilisearch/product#519 (comment)
- spec: meilisearch/specifications#247
Adds the ability to sort facets by their value which could be by using alpha
or count
.
Ensure the SDKs can handle the new index faceting configuration attribute sortFacetValuesBy
. This enum could only take count
or alpha
.
The faceting configuration now have two attributes:
maxValuesPerFacet: integer
sortFacetValuesBy: object
index_name: alpha|count
*: alpha|count // when should be applied to all indexes
🤩 Affected integrations: All the integrations from tier #1
.
Search in facet values
Related to:
- issue: meilisearch/meilisearch#3611
- discussion: meilisearch/product#515 (comment)
- spec: meilisearch/specifications#246
Users of bigger datasets could have difficulty interacting with vast lists of facets data since, until today, it was not possible to search on them.
To introduce this feature into the SDKs, we must:
Create a new method called facetSearch(facetSearchQuery)
/facet_search(facetSearchQuery)
Besides all the other parameters that a regular SearchQuery
can take. The new FacetSearchQuery
can take a facetName
, facetQuery
, filter
, q
, matchingStrategy
.
Params definition:
facetName:
type: string
required: true
example: '"genres"'
facetQuery:
type: string
example: '"Horror"'
q:
type: string
default: '""'
example: '"Back to the future"'
matchingStrategy:
type: string
default: 'last'
filter: // https://www.meilisearch.com/docs/learn/fine_tuning_results/filtering
type: array
example: '"groupId = 1 AND genre = adventure"'
🤩 Affected integrations: All the integrations from tier #1
.
Total Tasks in task route
Related to:
Returns the total number of tasks matching the filters on the GET /tasks
route.
Ensure the SDKs can handle the new get tasks response field total
.
🤩 Affected integrations: All the integrations from tier #1
.
Code-samples: #282
Missing issues to be opened in the non-updated SDKs before closing this issue
Yes @curquiza that's correct!
I am closing this issue since all the missing features are now tracked into each SDK.
Thanks, team! 🦖 🎉