chore(deps): update reg.undercloud.cri.epita.fr/docker/getmeili/meilisearch docker tag to v1.13.0
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
reg.undercloud.cri.epita.fr/docker/getmeili/meilisearch | Kustomization | minor |
v1.10.0 -> v1.13.0
|
⚠ WarningSome dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
meilisearch/meilisearch (reg.undercloud.cri.epita.fr/docker/getmeili/meilisearch)
v1.13.0
: 🕊 ️
Meilisearch v1.13 stabilizes AI-powered search integration!
🧰 All official Meilisearch integrations (including SDKs, clients, and other tools) are compatible with this Meilisearch release. Integration deployment takes 4 to 48 hours after a new version becomes available.
Some SDKs might not include all new features. Consult the project repository for detailed information. Is a feature you need missing from your chosen SDK? Create an issue letting us know you need it, or, for open-source karma points, open a MR implementing it (we'll love you for that
🔥
New features and updates AI-powered search and vector store stabilization
With v1.13, AI-powered search is available to all users by default and no longer requires manual activation.
Breaking Changes
-
vectorStore
is no longer an accepted value for the/experimental-features
route - Ollama URLs must end with either
/api/embed
or/api/embeddings
- Modified error codes:
-
invalid_embedder
has been split intoinvalid_search_embedder
andinvalid_similar_embedder
. These codes are returned when theembedder
parameter of a request to/search
,/multi-search
or/similar
specifies a non-existing embedder or is not a string -
invalid_hybrid_query
has been renamed toinvalid_search_hybrid_query
. It is returned when thehybrid
parameter contains unknown keys or is not eithernull
or an object
-
Done by @dureuill in https://github.com/meilisearch/meilisearch/pull/5232 & https://github.com/meilisearch/meilisearch/pull/5234
Experimental feature: Dumpless upgrades
Use --experimental-dumpless-upgrade
after updating the Meilisearch binary to migrate to a new release:
./meilisearch --experimental-dumpless-upgrade
This faster and more efficient process does not require you to generate a dump and pass it to Meilisearch when upgrading to a new release.
[!WARNING] Meilisearch strongly recommends you generate a backup snapshot before migrating. This is an experimental feature, and failed upgrades may lead to database corruption.
Read more about it on the dedicated product discussion.
Done by @irevoire and @dureuill in https://github.com/meilisearch/meilisearch/pull/5264
Experimental feature: Remote federated search requests
Use remote federated search requests together with the /multi-search
route to query multiple Meilisearch instances simultaneously. This is particularly useful when handling very large databases.
First, use the /experimental-features
route to enable network
:
curl \
-X PATCH 'MEILISEARCH_URL/experimental-features/' \
-H 'Content-Type: application/json' \
--data-binary '{
"network": true
}'
Next, set up your network of Meilisearch instances with a call to PATCH /network
configuring one self
and multiple remotes
:
curl \
-X PATCH 'MEILISEARCH_URL/network/' \
-H 'Content-Type: application/json' \
--data-binary '{
"remotes": {
"ms-0": {
"url": "http://ms-1235.example.meilisearch.io",
"searchApiKey": "Ecd1SDDi4pqdJD6qYLxD3y7VZAEb4d9j6LJgt4d6xas"
},
"ms-1": {
"url": "http://ms-4242.example.meilisearch.io",
"searchApiKey": "hrVu-OMcjPGElK7692K7bwriBoGyHXTMvB5NmZkMKqQ"
}
},
"self": "ms-0"
}'
Repeat this process with every instance in your network, then add documents. Do not send the same documents to different instances.
Finally, make a /multi-search
query with the new federationOptions.remote
:
curl \
-X PATCH 'MEILISEARCH_URL/multi-search/' \
-H 'Content-Type: application/json' \
--data-binary '{
"federation": {},
"queries": [
{
"q": "Batman returns dark",
"indexUid": "movies",
"federationOptions": {
"remote": "ms-0"
}
},
{
"q": "Batman returns dark",
"indexUid": "movies",
"federationOptions": {
"remote": "ms-1"
}
}
]
}'
Find more information about this feature on the public usage page
Other improvements
- Improve task auto-batching by exposing a way to limit the total size of a batch by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5223
- Add Prometheus metrics to measure task queue latency by @takaebato in https://github.com/meilisearch/meilisearch/pull/5178
- Speed up the request to list indexes by @irevoire in https://github.com/meilisearch/meilisearch/pull/5166
- Add support for
GITHUB_TOKEN
authentication in installation script by @Sherlouk in https://github.com/meilisearch/meilisearch/pull/5216 - Expose a new
usedDatabaseSize
field on the/stats
route by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5314 - Expose embeddings info on the
/stats
route by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5341
🐞
Fixes - Improve error message when an attribute is not filterable by @jameshiew in https://github.com/meilisearch/meilisearch/pull/5135
- Make sure indexing embeddings is using the right number of threads by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5322
- Dumpless upgrade will no longer corrupt the database in case of early stop by @irevoire in https://github.com/meilisearch/meilisearch/pull/5316
- Fix export/import dump that contains batches data by @irevoire in https://github.com/meilisearch/meilisearch/pull/5310
- Make sure indexing geo points works with PUT requests by @dureuill in https://github.com/meilisearch/meilisearch/pull/5332
- Add back semantic search timeout from v1.11.3 by @dureuill in https://github.com/meilisearch/meilisearch/pull/5339
Misc
- Dependency updates
- Upgrade dependencies to fix the
idna
severity issue by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5218
- Upgrade dependencies to fix the
- CIs and tests
- Split tests into separate files by @K-Kumar-01 in https://github.com/meilisearch/meilisearch/pull/5134, https://github.com/meilisearch/meilisearch/pull/5171, https://github.com/meilisearch/meilisearch/pull/5174
- Remove obsolete test code by @K-Kumar-01 in https://github.com/meilisearch/meilisearch/pull/5173
- Fix flaky batches test by @irevoire in https://github.com/meilisearch/meilisearch/pull/5175
- Remove hard coded task IDs to prevent flaky tests by @mhmoudr in https://github.com/meilisearch/meilisearch/pull/5182
- Improve test performance of get_index.rs by @DerTimonius in https://github.com/meilisearch/meilisearch/pull/5210
- Other
- Instruct users to create custom reports on the benchboard by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5029
- Fix typo in a comment by @eltociear in https://github.com/meilisearch/meilisearch/pull/5184
- Replace hardcoded string with constants by @Gnosnay in https://github.com/meilisearch/meilisearch/pull/5169
- Refactor index-scheduler by @irevoire in https://github.com/meilisearch/meilisearch/pull/5199
- Refactor indexer by @dureuill in https://github.com/meilisearch/meilisearch/pull/5168
- Auto-generate OpenAPI spec by @irevoire in https://github.com/meilisearch/meilisearch/pull/4867 & https://github.com/meilisearch/meilisearch/pull/5231
- Merge bitmaps by using
Extend::extend
by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5221 - Fix issue introduced by dumpless upgrade by @manojks1999 in https://github.com/meilisearch/meilisearch/pull/5284
- Send the OSS analytics once per day instead of once per hour by @irevoire in https://github.com/meilisearch/meilisearch/pull/5312
- Log more metrics around HTTP embedder requests and ANNs in arroy by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5288
- Fix internal error when not correctly using the
documentTemplateMaxBytes
parameter by @dureuill in https://github.com/meilisearch/meilisearch/pull/5306 - When a batch is deleted it no longer keeps some internal data in the DB @Kerollmops and @irevoire in https://github.com/meilisearch/meilisearch/pull/5272
- Fix a rare stack overflow when using remote embedders by @Kerollmops with the help of @dureuill https://github.com/meilisearch/meilisearch/pull/5294 (from v1.12.8)
- Fix Dotnet tests in sdks-tests.yml by @curquiza in https://github.com/meilisearch/meilisearch/pull/5291
- Debug log the channel congestion by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5177
- Improve unexpected panic message by @irevoire in https://github.com/meilisearch/meilisearch/pull/5300
- Introduce a compaction subcommand in meilitool by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5235
- Expose a route to get the file content associated with a task by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5326
- Fix workload sha for the benchmark by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5342
- Meilisearch: @takaebato, @Sherlouk, @jameshiew, @K-Kumar-01, @mhmoudr, @eltociear, @Gnosnay, @DerTimonius, @manojks1999, @ellnix, @Guikingone, @migueltarga
v1.12.8
: 🦗
What's Changed
- Accept the max readers param by env var and reduce rayon tasks by @Kerollmops with the help of @dureuill in https://github.com/meilisearch/meilisearch/pull/5294
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.12.7...v1.12.8
v1.12.7
: 🦗
What's Changed
- Fix the stuck indexation due to the internal BBQueue capacity by @Kerollmops and @dureuill in https://github.com/meilisearch/meilisearch/pull/5276
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.12.6...v1.12.7
v1.12.6
: 🦗
What's Changed
- Unify facet strings by their normalized value by @dureuill and @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5258
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.12.5...v1.12.6
v1.12.5
: 🦗
Fixes 🪲
- Dump export no longer fails when the task queue contains enqueued or processing tasks, by @dureuill and @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5246
- Dumps containing enqueued tasks no longer fail to import, also in https://github.com/meilisearch/meilisearch/pull/5246
- Dumps exported in v1.12 reset the
batch_uid
of all tasks, as batches are not persisted in dumps in v1.12. See #5247 for details.
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.12.4...v1.12.5
v1.12.4
: 🦗
Fixes 🪲
- The indexing process no longer starts an infinite loop in some circumstances by @dureuill in https://github.com/meilisearch/meilisearch/pull/5242
- The indexing process no longer fails task when attempting to delete keys that are not in the DB, also in https://github.com/meilisearch/meilisearch/pull/5242
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.12.3...v1.12.4
v1.12.3
: 🦗
What's Changed
- Field distribution is no longer miscomputed when sending incremental updates to documents via the
PUT
route by @dureuill in https://github.com/meilisearch/meilisearch/pull/5224 - Improve the panic message when deleting an unknown entry by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5229
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.12.2...v1.12.3
v1.12.2
: 🦗
🪲 Fixes
- Fix a performance regression introduced in v1.12.0 when updating a small number of documents in indexes that contain
sortableAttributes
orfilterableAttributes
. By @dureuill in https://github.com/meilisearch/meilisearch/pull/5205
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.12.1...v1.12.2
v1.12.1
Fixes
There was a bug in the engine when adding an empty payload, it was making the batch fails. Fixed by @irevoire in https://github.com/meilisearch/meilisearch/pull/5192
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.12.0...v1.12.1
v1.12.0
: 🦗
Meilisearch v1.12 introduces significant indexing speed improvements, almost halving the time required to index large datasets. This release also introduces new settings to customize and potentially further increase indexing speed.
🧰 All official Meilisearch integrations (including SDKs, clients, and other tools) are compatible with this Meilisearch release. Integration deployment happens between 4 to 48 hours after a new version becomes available.
Some SDKs might not include all new features. Consult the project repository for detailed information. Is a feature you need missing from your chosen SDK? Create an issue letting us know you need it, or, for open-source karma points, open a MR implementing it (we'll love you for that
🔥
New features and updates Improve indexing speed
Indexing time is improved across the board!
- Performance is maintained or better on smaller machines
- On bigger machines with multiple cores and good IO, Meilisearch v1.12 is much faster than Meilisearch v1.11
- More than twice as fast for raw document insertion tasks.
- More than x4 as fast for incrementally updating documents in a large database.
- Embeddings generation was also improved up to x1.5 for some workloads.
The new indexer also makes task cancellation faster.
Done by @dureuill, @ManyTheFish, and @Kerollmops in #4900.
facetSearch
and prefixSearch
to improve indexing speed
New index settings: use v1.12 introduces two new index settings: facetSearch
and prefixSearch
.
Both settings allow you to skip parts of the indexing process. This leads to significant improvements to indexing speed, but may negatively impact search experience in some use cases.
Done by @ManyTheFish in #5091
facetSearch
Use this setting to toggle facet search:
curl \
-X PUT 'http://localhost:7700/indexes/books/settings/facet-search' \
-H 'Content-Type: application/json' \
--data-binary 'true'
The default value for facetSearch
is true
. When set to false
, this setting disables facet search for all filterable attributes in an index.
prefixSearch
Use this setting to configure the ability to search a word by prefix on an index:
curl \
-X PUT 'http://localhost:7700/indexes/books/settings/prefix-search' \
-H 'Content-Type: application/json' \
--data-binary 'disabled'
prefixSearch
accepts one of the following values:
-
"indexingTime"
: enables prefix processing during indexing. This is the default Meilisearch behavior -
"disabled"
: deactivates prefix search completely
Disabling prefix search means the query he
will no longer match the word hello
. This may significantly impact search result relevancy, but speeds up the indexing process.
/batches
New API route: The new /batches
endpoint allow you to query information about task batches.
GET
/batches
returns a list of batch objects:
curl -X GET 'http://localhost:7700/batches'
This endpoint accepts the same parameters as GET
/tasks
route, allowing you to narrow down which batches you want to see. Parameters used with GET
/batches
apply to the tasks, not the batches themselves. For example, GET /batches?uid=0
returns batches containing tasks with a taskUid
of 0
, not batches with a batchUid
of 0
.
You may also query GET
/batches/:uid
to retrieve information about a single batch object:
curl -X GET 'http://localhost:7700/batches/BATCH_UID'
/batches/:uid
does not accept any parameters.
Batch objects contain the following fields:
{
"uid": 160,
"progress": {
"steps": [
{
"currentStep": "processing tasks",
"finished": 0,
"total": 2
},
{
"currentStep": "indexing",
"finished": 2,
"total": 3
},
{
"currentStep": "extracting words",
"finished": 3,
"total": 13
},
{
"currentStep": "document",
"finished": 12300,
"total": 19546
}
],
"percentage": 37.986263
},
"details": {
"receivedDocuments": 19547,
"indexedDocuments": null
},
"stats": {
"totalNbTasks": 1,
"status": {
"processing": 1
},
"types": {
"documentAdditionOrUpdate": 1
},
"indexUids": {
"mieli": 1
}
},
"duration": null,
"startedAt": "2024-12-12T09:44:34.124726733Z",
"finishedAt": null
}
Additionally, task objects now include a new field, batchUid
. Use this field together with /batches/:uid
to retrieve data on a specific batch.
{
"uid": 154,
"batchUid": 142,
"indexUid": "movies_test2",
"status": "succeeded",
"type": "documentAdditionOrUpdate",
"canceledBy": null,
"details": {
"receivedDocuments": 1,
"indexedDocuments": 1
},
"error": null,
"duration": "PT0.027766819S",
"enqueuedAt": "2024-12-02T14:07:34.974430765Z",
"startedAt": "2024-12-02T14:07:34.99021667Z",
"finishedAt": "2024-12-02T14:07:35.017983489Z"
}
Done by @irevoire in #5060, #5070, #5080
Other improvements
- New query parameter for
GET
/tasks
:reverse
. Ifreverse
is set totrue
, tasks will be returned in reversed order, from oldest to newest tasks. Done by @irevoire in #5048 - Phrase searches with
showMatchesPosition
set totrue
give a single location for the whole phrase @flevi29 in #4928 - New Prometheus metrics by @PedroTurik in #5044
- When a query finds matching terms in document fields with array values, Meilisearch now includes an
indices
field to_matchesPosition
specifying which array elements contain the matches by @LukasKalbertodt in #5005 -
⚠ ️ BreakingvectorStore
change: field distribution no longer contains_vectors
. Its value used to be incorrect, and there is no current use case for the fixed, most likely empty, value. Done as part of #4900 - Improve error message by adding index name in #5056 by @airycanon
🐞
Fixes - Return appropriate error when primary key is greater than 512 bytes, by @flevi29 in #4930
- Fix issue where numbers were segmented in different ways depending on tokenizer, by @dqkqd in https://github.com/meilisearch/charabia/pull/311
- Fix pagination when embedding fails by @dureuill in https://github.com/meilisearch/meilisearch/pull/5063
- Fix issue causing Meilisearch to ignore stop words in some cases by @ManyTheFish in #5062
- Fix phrase search with
attributesToSearchOn
in #5062 by @ManyTheFish
Misc
- Dependencies updates
- Update benchmarks to match the new crates subfolder by @Kerollmops in #5021
- Fix the benchmarks by @irevoire in #5037
- Bump Swatinem/rust-cache from 2.7.1 to 2.7.5 in #5030
- Update charabia v0.9.2 by @ManyTheFish in #5098
- Update mini-dashboard to v0.2.16 version by @curquiza in #5102
- CIs and tests
- Improve performance of
delete_index.rs
by @DerTimonius in #4963 - Improve performance of
create_index.rs
by @DerTimonius in #4962 - Improve performance of
get_documents.rs
by @PedroTurik in #5025 - Improve performance of
formatted.rs
by @PedroTurik in #5043 - Fix the path used in the flaky tests CI by @Kerollmops in #5049
- Improve performance of
- Misc
- Rollback the Meilisearch Kawaii logo by @Kerollmops in #5017
- Add image source label to Dockerfile by @wuast94 in #4990
- Hide code complexity into a subfolder by @Kerollmops in #5016
- Internal tool: implement offline upgrade from v1.10 to v1.11 by @irevoire in #5034
- Internal tool: implement offline upgrade from v1.11 to v1.12 by @ManyTheFish in #5146
- Meilisearch is now able to retrieve Katakana words from a Hiragana query by @tats-u in https://github.com/meilisearch/charabia/pull/312
- Improve error handling when writing into LMDB by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5089
- Meilisearch: @airycanon, @DerTimonius, @flevi29, @LukasKalbertodt, @PedroTurik, @wuast94
- Charabia: @dqkqd @tats-u
v1.11.3
: 🐿 ️
What's Changed
- For REST/OpenAI/ollama autoembedders users: Retry if deserialization of remote response failed by @dureuill in https://github.com/meilisearch/meilisearch/pull/5058
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.11.2...v1.11.3
v1.11.2
: 🐿 ️
What's Changed
- Add timeout on read and write operations. by @dureuill in https://github.com/meilisearch/meilisearch/pull/5051
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.11.1...v1.11.2
v1.11.1
: 🐿 ️
What's Changed
- Add 3s timeout to embedding requests made during search by @dureuill in https://github.com/meilisearch/meilisearch/pull/5039
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.11.0...v1.11.1
v1.11.0
: 🐿 ️
Meilisearch v1.11 introduces AI-powered search performance improvements thanks to binary quantization and various usage changes, all of which are steps towards a future stabilization of the feature. We have also improved federated search usage following user feedback.
🧰 All official Meilisearch integrations (including SDKs, clients, and other tools) are compatible with this Meilisearch release. Integration deployment happens between 4 to 48 hours after a new version becomes available.
Some SDKs might not include all new features. Consult the project repository for detailed information. Is a feature you need missing from your chosen SDK? Create an issue letting us know you need it, or, for open-source karma points, open a MR implementing it (we'll love you for that
🔥
New features and updates Experimental - AI-powered search improvements
This release is Meilisearch's first step towards stabilizing AI-powered search and introduces a few breaking changes to its API. Consult the PRD for full usage details.
Done by @dureuill in #4906, #4920, #4892, and #4938.
⚠ ️ Breaking changes
- When performing AI-powered searches,
hybrid.embedder
is now a mandatory parameter inGET
andPOST
/indexes/{:indexUid}/search
- As a consequence, it is now mandatory to pass
hybrid
even for pure semantic searches -
embedder
is now a mandatory parameter inGET
andPOST
/indexes/{:indexUid}/similar
- Meilisearch now ignores
semanticRatio
and performs a pure semantic search for queries that includevector
but notq
Addition & improvements
- The default model for OpenAI is now
text-embedding-3-small
instead oftext-embedding-ada-002
- This release introduces a new embedder option:
documentTemplateMaxBytes
. Meilisearch will truncate a document's template text when it goes over the specified limit - Fields in
documentTemplate
include a newfield.is_searchable
property. The default document template now filters out both empty fields and fields not in the searchable attributes list:
v1.11:
{% for field in fields %}
{% if field.is_searchable and not field.value == nil %}
{{ field.name }}: {{ field.value }}\n
{% endif %}
{% endfor %}
v1.10:
{% for field in fields %}
{{ field.name }}: {{ field.value }}\n
{% endfor %}
Embedders using the v1.10 document template will continue working as before. The new default document template will only work with newly created embedders.
Vector database indexing performance improvements
v1.11 introduces a new embedder option, binaryQuantized
:
curl \
-X PATCH 'http://localhost:7700/indexes/movies/settings' \
-H 'Content-Type: application/json' \
--data-binary '{
"embedders": {
"image2text": {
"binaryQuantized": true
}
}
}'
Enable binary quantization to convert embeddings of floating point numbers into embeddings of boolean values. This will negatively impact the relevancy of AI-powered searches but significantly improve performance in large collections with more than 100 dimensions.
In our benchmarks, this reduced the size of the database by a factor of 10 and divided the indexing time by a factor of 6 with little impact on search times.
[!WARNING] Enabling this feature will update all of your vectors to contain only
1
s or-1
s, significantly impacting relevancy.You cannot revert this option once you enable it. Before setting
binaryQuantized
totrue
, Meilisearch recommends testing it in a smaller or duplicate index in a development environment.
Done by @irevoire in #4941.
Federated search improvements
Facet distribution and stats for federated searches
This release adds two new federated search options, facetsByIndex
and mergeFacets
. These allow you to request a federated search for facet distributions and stats data.
Facet information by index
To obtain facet distribution and stats for each separate index, use facetsByIndex
when querying the POST
/multi-search
endpoint:
POST /multi-search
{
"federation": {
"limit": 20,
"offset": 0,
"facetsByIndex": {
"movies": ["title", "id"],
"comics": ["title"],
}
},
"queries": [
{
"q": "Batman",
"indexUid": "movies"
},
{
"q": "Batman",
"indexUid": "comics"
}
]
}
The multi-search response will include a new field, facetsByIndex
with facet data separated per index:
{
"hits": […],
…
"facetsByIndex": {
"movies": {
"distribution": {
"title": {
"Batman returns": 1
},
"id": {
"42": 1
}
},
"stats": {
"id": {
"min": 42,
"max": 42
}
}
},
…
}
}
Merged facet information
To obtain facet distribution and stats for all indexes merged into a single, use both facetsByIndex
and mergeFacets
when querying the POST
/multi-search
endpoint:
POST /multi-search
{
"federation": {
"limit": 20,
"offset": 0,
"facetsByIndex": {
"movies": ["title", "id"],
"comics": ["title"],
},
"mergeFacets": {
"maxValuesPerFacet": 10,
}
}
"queries": [
{
"q": "Batman",
"indexUid": "movies"
},
{
"q": "Batman",
"indexUid": "comics"
}
]
}
The response includes two new fields, facetDistribution
and facetStarts
:
{
"hits": […],
…
"facetDistribution": {
"title": {
"Batman returns": 1
"Batman: the killing joke":
},
"id": {
"42": 1
}
},
"facetStats": {
"id": {
"min": 42,
"max": 42
}
}
}
Done by @dureuill in #4929.
STARTS WITH
filter operator
Experimental — New Enable the experimental feature to use the STARTS WITH
filter operator:
curl \
-X PATCH 'http://localhost:7700/experimental-features/' \
-H 'Content-Type: application/json' \
--data-binary '{
"containsFilter": true
}'
Use the STARTS WITH
operator when filtering:
curl \
-X POST http://localhost:7700/indexes/movies/search \
-H 'Content-Type: application/json' \
--data-binary '{
"filter": "hero STARTS WITH spider"
}'
Done by @Kerollmops in #4939.
Other improvements
- Language support and localizedAttributes settings by @ManyTheFish in #4937
- Add ISO-639-1 variants
- Convert ISO-639-1 into ISO-639-3
- Add a German language tokenizer by @luflow in meilisearch/charabia#303 and in #4945
- Improve Turkish language support by @tkhshtsh0917 in meilisearch/charabia#305 and in #4957
- Upgrade "batch failed" log to error level in #4955 by @dureuill.
- Update the search UI: remove the forced capitalized fields, by @curquiza in #4993
🐞
Fixes -
⚠ ️ When using federated search,query.facets
was silently ignored at the query level, but should not have been. It now returns the appropriate error. Usefederation.facetsByIndex
instead if you want facets to be applied during federated search. - Prometheus
/metrics
return the route pattern instead of the real route when returning the HTTP requests total by @irevoire in #4839 - Truncate values at the end of a list of facet values when the number of facet values is larger than
maxValuesPerFacet
. For example, settingmaxValuesPerFacet
to2
could result in["blue", "red", "yellow"]
, being truncated to["blue", "yellow"]
instead of ["blue", "red"]`. By @dureuill in #4929 - Improve the task cancellation when vectors are used, by @irevoire in #4971
- Swedish support: the characters
å
,ä
,ö
are no longer normalized toa
ando
. By @ManyTheFish in #4945 - Update rhai to fix an internal error when updating documents with a function (experimental) by @irevoire in #4960
- Fix the bad experimental search queue size by @irevoire in #4992
- Do not send empty edit document by function by @irevoire in #5001
- Display vectors when no custom vectors were ever provided by @dureuill in #5008
Misc
- Dependencies updates
- Security dependency upgrade: bump quinn-proto from 0.11.3 to 0.11.8 by @dependabot in #4911
- CIs and tests
- Make the tests run faster by @irevoire in #4808
- Documentation
- Fix broken links in README by @iornstein in #4943
- Misc
- Allow Meilitool to upgrade from v1.9 to v1.10 without a dump in some conditions, by @dureuill in #4912
- Fix bench by adding embedder by @dureuill in #4954
- Revamp analytics by @irevoire in #5011
v1.10.3
: 🦩
Search improvements
This MR lets you configure two behaviors of the engine through experimental cli flags:
- The number of searches Meilisearch can process concurrently per core with the
--experimental-nb-searches-per-core
cli flag - After how many seconds Meilisearch can consider a search as irrelevant and drop it straight away without processing it with the
--experimental-drop-search-after
cli flag
Done by @irevoire in https://github.com/meilisearch/meilisearch/pull/5000
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.10.2...v1.10.3
v1.10.2
: 🦩
🦋
Fixes Activate the Swedish tokenization Pipeline
The Swedish tokenization pipeline were deactivated in the previous versions, now it is activated when specifying the index Language in the settings:
/indexes/:index-name/settings
PATCH {
"localizedAttributes": [ { "locales": ["swe"], "attributePatterns": ["*"] } ]
}
related MR: #4949
v1.10.1
: 🦩
🦋
Fixes Better search handling under heavy loads
All of the next MR should make meilisearch behave better under heavy loads:
- Only spawn one search queue in actix-web by @irevoire in https://github.com/meilisearch/meilisearch/pull/4893
- Make sure the index scheduler never stops running by @irevoire in https://github.com/meilisearch/meilisearch/pull/4896
- Explicitly drop the search permits by @irevoire in https://github.com/meilisearch/meilisearch/pull/4898
- Stop trying to process searches after one minute by @irevoire in https://github.com/meilisearch/meilisearch/pull/4899
🐎
Speed improvement We made the autobatching of the document deletion with the document deletion by filter possible which should uncklog the task queue of the people using these two operations heavily. Meilisearch still cannot autobatch the document deletion by filter and the document addition, though.
- Autobatch document deletion by filter by @irevoire in https://github.com/meilisearch/meilisearch/pull/4901
- Do not fail the whole batch when a single document deletion by filter fails by @irevoire in https://github.com/meilisearch/meilisearch/pull/4905
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.10.0...v1.10.1
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.