v1.47.0 🦇
- Support search personalization feature on federated search requests
- Expose more Prometheus metrics for improved observability on document throughput
- Improved tokenizer-related settings support in the new settings indexer
- Enhanced new settings indexer quality for better performance when changing locales, dictionary, synonyms, stop words, separator, and non-separator tokens
- New settings indexer is now feature-complete and handles all settings tasks by default unless MEILI_EXPERIMENTAL_NO_EDITION_2024_FOR_SETTINGS environment variable is set to true
- Refactored search pipeline to mutualize code with federated search performed under the hood
- Some error messages have been modified due to search implementation refactor
- Putting attributeRank or wordPosition before words in the rankingRules list will no longer remove hits from the response
- Meilisearch will no longer ignore searchCutoffMs in some conditions when embedding documents
- Meilisearch will no longer fail to proxy a search request with a filter containing a single quote during remote federated search or useNetwork: true search requests
- Remove the now unused vectorStoreBackend setting
- Prevent shell injection in GitHub Actions release workflows
🌈 Enhancements
Search personalization on federated search
We now support using the search personalization feature on federated search requests.
Like page/hitPerPage or limit/offset, the personalization option must be specified in the federation attribute to work properly.
Otherwise, an error will be returned reminding you to move the attribute in federation.
By @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6414
The new settings indexer is feature complete 🎉
- We now better support the tokenizer-related settings
- We improved the quality of the new settings indexer to enhance the engine's performance when changing the locales, the dictionary, synonyms, stop words, separator, and non-separator tokens.
- This makes the new settings indexer feature-complete, meaning that, unless you set the
MEILI_EXPERIMENTAL_NO_EDITION_2024_FOR_SETTINGSenvironment variable totrue, all settings tasks can now be handled by the new settings indexer, bringing a better scaling behavior, much faster cancellation, and a more precise progress view.
By @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6409
Observability improvements
We expose more Prometheus metrics to improve observability, specifically to show more metrics on document throughput and ease debugging.
By @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6430
🦋 Fixes
- Putting attributeRank/ wordPosition before words in the rankingRules list will no longer remove hits from the response, by @pjdurden in https://github.com/meilisearch/meilisearch/pull/6437
- Meilisearch will no longer ignore the
searchCutoffMsin some conditions when embedding documents, by @dureuill in https://github.com/meilisearch/meilisearch/pull/6447 - Meilisearch will no longer fail to proxy a search request with a filter containing a
'during remote federated search oruseNetwork: truesearch requests, by @dureuill in https://github.com/meilisearch/meilisearch/pull/6445
🔒 Security
- CI: Prevent shell injection in GitHub Actions release workflows by @curquiza in https://github.com/meilisearch/meilisearch/pull/6420
🔩 Misc. changes
Search implementation refactor
Refactor the search pipeline to mutualize the code. The new implementation will always perform a federated search under the hood, and then the output will be transformed into the expected route's output.
Noticeable changes from the user perspective:
- Some error messages have been modified
- Small breaking change: a few error codes change, such as
MultiSearch<Error><-->Search<Error>
Other changes
- Make it easier and less error-prone to declare a type that is used as a body parameter on a Meilisearch endpoint, by @dureuill in https://github.com/meilisearch/meilisearch/pull/6429
- Remove the now unused
vectorStoreBackendsetting from the settings, by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6399 - Replace custom hf-hub git dependency by the official one by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6442
- Update Python SDK test CI by @Strift in https://github.com/meilisearch/meilisearch/pull/6439
- Refactor the code to use the
MustStopProcessingtype everywhere by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6423
New Contributors
- @pjdurden made their first contribution in https://github.com/meilisearch/meilisearch/pull/6437
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.46.1...v1.47.0