meilisearch @ v1.14.0
integrity
- size
- 19.0 MiB
- downloaded
- last checked
release notes
Meilisearch v1.14 gives more granular control over which parts of filters you can disable for indexing performance optimization. This release also includes composite embedders, which can improve embedding generation during search and indexing, and a new route to retrieve multiple documents by their IDs.
🧰 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 PR implementing it (we'll love you for that ❤️).
New features and updates 🔥
Granular filterable attribute settings
v1.14 gives you more control over which types of filter you want to disable in your searches. This allows you to further optimize indexing speeds by letting you activate only the filter features you need.
Use PATCH /indexes/INDEX_NAME/settings to specify which filters you want to enable for each attribute in your documents:
{
"filterableAttributes": [
{
"attributePatterns": ["genre", "artist"],
"features": {
"facetSearch": true,
"filter": {
"equality": true,
"comparison": false
}
}
},
{
"attributePatterns": ["rank"],
"features": {
"facetSearch": false,
"filter": {
"equality": true,
"comparison": true
}
}
}
]
}
For more details about this feature, please refer to the dedicated documentation page.
Done by @ManyTheFish in #5254.
Composite embedders
This feature allows using different embedders at search and indexing time. This can be useful when optimizing AI-powered search performance. For example, you may prefer to use:
- A remote embedder during indexing, as remote embedders have higher bandwidth and can generate more embeddings per second
- A local embedder when answering to search queries, as local embedders have lower latency and can respond more quickly to user input
To use the feature, follow these steps:
- Enable the
Composite embeddersfeature with the Meilisearch Cloud interface, or with the/experimental-featuresroute:
curl MEILISEARCH_URL/experimental-features \
-H 'Content-Type: application/json' \
-d '{"compositeEmbedders": true}'
- Next, create an embedder, setting its
sourceto"composite"and defining onesearchEmbedderand oneindexingEmbedder:
{
"embedders": {
"text": {
"source": "composite",
"searchEmbedder": {
"source": "huggingFace",
"model": "baai/bge-base-en-v1.5",
"revision": "a5beb1e3e68b9ab74eb54cfd186867f64f240e1a"
},
"indexingEmbedder": {
"source": "rest",
"url": "https://URL.endpoints.huggingface.cloud",
"apiKey": "hf_XXXXXXX",
"documentTemplate": "Your {{doc.template}}",
"request": {
"inputs": [
"{{text}}",
"{{..}}"
]
},
"response": [
"{{embedding}}",
"{{..}}"
]
}
}
}
}
- Once the composite embedder has been created, Meilisearch will use its
indexingEmbedderduring indexing andsearchEmbedderwhen responding to user queries
For more details about this feature, please refer to its public usage page.
Done by @dureuill in #5371 and #5401.
Retrieve multiple documents by ID
It is now possible to retrieve multiple documents by their IDs:
curl -H 'Content-Type: application/json' MEILISEARCH_URL/indexes/INDEX_UID/documents -d '{ "ids": ["cody", "finn", "brandy", "gambit"] }'
{
"results": [
{
"id": "brandy",
"info": 13765493
},
{
"id": "finn",
"info": 35863
},
{
"id": "cody",
"info": 122263
},
{
"id": "gambit",
"info": 22222
}
],
"offset": 0,
"limit": 20,
"total": 4
}
[!WARNING] Documents are not returned in the queried order. Non-existent documents are ignored.
Done by @dureuill in #5384.
Other improvements
- Batch together
/documentsrequests using eitherPUTorPOSTby @Kerollmops in #5293 - Display timestamped internal indexing steps on the
/batchesroute by @Kerollmops in #5356 and #5364 - Introduce
exhaustiveFacetCountparameter to/facet-searchroute to retrieve an exhaustive facet count by @ManyTheFish in #5369 - Reduce RAM consumption of arroy by @irevoire in https://github.com/meilisearch/arroy/pull/105
- Experimental feature: Cache embeddings during search (Read more in the feature discussion) by @dureuill in #5418
- Extend batch progress view to include indexing of vectors by @irevoire in #5420
- Armenian characters are no longer case-sensitive by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5454
- Avoid reindexing searchables when the order changes by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5402
- Accept cancellation tasks even when the disk is full by @irevoire in https://github.com/meilisearch/meilisearch/pull/5492
Fixes
- Geo update bug by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5407
- Fix prefix search on attributes listed in
disabledOnAttributessettings by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5415 (fixes #5347 and #5452) - Fix CI to work with merge queues by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5456
- Support fetching the pooling method from the model configuration by @dureuill in #5355
- Delete unused prefixes by @Kerollmops in #5413
- Fixes mini dashboard to prevent the panel from popping up every time by @curquiza in https://github.com/meilisearch/meilisearch/pull/5436
- Enabling
rankingScoreThresholdno longer causes_rankingScoreto be miscalculated by @barloes and @dureuill in https://github.com/meilisearch/meilisearch/pull/5313 - Validate dimensions of embedding when receiving documents with
_vectorsby @dureuill in https://github.com/meilisearch/meilisearch/pull/5478
Misc
- Dependencies updates
- Bump Ubuntu in the CI from 20.04 to 22.04 by @Kerollmops in #5338
- Bump heed to v0.22 by @irevoire and @Kerollmops in #5406
- Bump ring to v0.17.14 to compile on old aarch64 by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5423
- Bump zip from 2.2.2 to 2.3.0 by @dependabot in https://github.com/meilisearch/meilisearch/pull/5426
- CIs and tests
- Improve test performance of get_index.rs by @DerTimonius in #5210
- Ollama Integration Tests by @Kerollmops in #5308
- Ensure the settings routes are properly configured when a new field is added to the Settings struct by @MichaScant in #5149
- Skip a snapshot test on Windows by @Kerollmops in #5383
- Fix CI to work with merge queues by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5456
- Accept total batch size in human size by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5421
- Add more progress levels to measure merging and post-processing by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5422 and https://github.com/meilisearch/meilisearch/pull/5468
- Isolate word fst usage to dedicate it to typo-correction by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5415
- Show database sizes batches by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5457 and https://github.com/meilisearch/meilisearch/pull/5464
⚠️ Please consider that the batches stats content can change anytime.
- Improve performance of computing document stats by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5465
❤️ Thanks again to our external contributors:
- Meilisearch: @MichaScant
- Heed: @oXtxNt9U
- Arroy: @ptondereau
- Charabia: @NarHakobyan, @mosuka
download
curl -fL -o v1.14.0.zip https://ratatoskr.space/pkg/meilisearch/v1.14.0.zip
printf '%s %s\n' '7fe3e151c6a463182be43dcb370697327c1fdcc4fcea946fd85ea9e0c2fdc65b' 'v1.14.0.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/meilisearch/v1.14.0.zip"
$out = "v1.14.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "7fe3e151c6a463182be43dcb370697327c1fdcc4fcea946fd85ea9e0c2fdc65b") { throw "sha256 mismatch" }
curl -fL -o v1.14.0.tar.gz https://ratatoskr.space/pkg/meilisearch/v1.14.0.tar.gz
printf '%s %s\n' '6a978cf9de2f3962b5842d160a9daf419fa93bfa9358a2a18aab2f2a203a3ad6' 'v1.14.0.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/meilisearch/v1.14.0.tar.gz"
$out = "v1.14.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "6a978cf9de2f3962b5842d160a9daf419fa93bfa9358a2a18aab2f2a203a3ad6") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1.14.0.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.14.0.zip
printf '%s %s\n' '7fe3e151c6a463182be43dcb370697327c1fdcc4fcea946fd85ea9e0c2fdc65b' 'v1.14.0.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.14.0.zip"
$out = "v1.14.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "7fe3e151c6a463182be43dcb370697327c1fdcc4fcea946fd85ea9e0c2fdc65b") { throw "sha256 mismatch" }
curl -fL -o v1.14.0.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.14.0.tar.gz
printf '%s %s\n' '6a978cf9de2f3962b5842d160a9daf419fa93bfa9358a2a18aab2f2a203a3ad6' 'v1.14.0.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.14.0.tar.gz"
$out = "v1.14.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "6a978cf9de2f3962b5842d160a9daf419fa93bfa9358a2a18aab2f2a203a3ad6") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1.14.0.zip | zip | 19.0 MiB |
blake3-24 8483f0a6c439f476252bfaa1ac68294ab72e2ffb9bfc661c
sha256 7fe3e151c6a463182be43dcb370697327c1fdcc4fcea946fd85ea9e0c2fdc65b
sha1 a66b0d0d79b620c8586b729efdbab5d21027349b
|
| v1.14.0.tar.gz | tar.gz | 18.2 MiB |
blake3-24 810a384344ebdf21eaa3790c0247a98f0bce34498dc62e56
sha256 6a978cf9de2f3962b5842d160a9daf419fa93bfa9358a2a18aab2f2a203a3ad6
sha1 361a2815210beafd394590936ab707f2b000cc3e
|
install
http_archive(
name = "meilisearch",
urls = ["https://ratatoskr.space/pkg/meilisearch/v1.14.0.tar.gz"],
integrity = "sha256-apeM+d4vOWK1hC0WCp2vQZ+pO/qTWKKhiqsvKiA6OtY=",
strip_prefix = "meilisearch-v1.14.0",
)
.url = "https://ratatoskr.space/pkg/meilisearch/v1.14.0.tar.gz",
install via yggdrasil mesh
http_archive(
name = "meilisearch",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.14.0.tar.gz"],
integrity = "sha256-apeM+d4vOWK1hC0WCp2vQZ+pO/qTWKKhiqsvKiA6OtY=",
strip_prefix = "meilisearch-v1.14.0",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.14.0.tar.gz",