meilisearch @ v1.35.0
integrity
- size
- 20.2 MiB
- downloaded
- last checked
release notes
Meilisearch v1.35.0 contains improvements to the observability of the search performance, a breaking change to the recently introduced POST /indexes/<index_uid>/fields route, and other bugfixes and improvements.
🌈 Improvements
Observe the search performance
The search routes accept a new field named showPerformanceDetails. When set to true, the search response contains a performance trace, allowing the user to better
understand what takes time during a search query.
impacted routes:
POST /indexes/<index_uid>/searchGET /indexes/<index_uid>/searchPOST /multi-searchPOST /indexes/<index_uid>/similarGET /indexes/<index_uid>/similar
Search
routes: POST /indexes/<index_uid>/search and GET /indexes/<index_uid>/search
Request
new request parameters:
showPerformanceDetails:true/false(boolean)
{
"q": "glass",
"showPerformanceDetails": true
}
Response
new response field:
performanceDetails:{"<span>": "<human_duration>", .. }(map)
{
"hits": [
// hits ..
],
"query": "glass",
"processingTimeMs": 5,
"limit": 20,
"offset": 0,
"estimatedTotalHits": 1,
"requestUid": "<uuid>",
"performanceDetails": {
"wait for permit": "295.29µs",
"search > tokenize": "436.67µs",
"search > resolve universe": "649.00µs",
"search > keyword search": "515.71µs",
"search > format": "288.54µs",
"search": "3.56ms"
}
}
Multi-search
route: POST /multi-search
Request
new request parameters:
queries.showPerformanceDetails:true/false(boolean)
"queries": [
{
"indexUid": "<index_uid>",
"q": "glass",
"showPerformanceDetails": true
}
]
Response
new response field:
results.performanceDetails:{"<span>": "<human_duration>", .. }(map)
{
"results": [
{
"indexUid": "<index_uid>",
"hits": [
// hits ..
],
"query": "glass",
"processingTimeMs": 5,
"limit": 20,
"offset": 0,
"estimatedTotalHits": 1,
"requestUid": "<uuid>",
"performanceDetails": {
"wait for permit": "295.29µs",
"search > tokenize": "436.67µs",
"search > resolve universe": "649.00µs",
"search > keyword search": "515.71µs",
"search > format": "288.54µs",
"search": "3.56ms"
}
}
]
}
Federated Search
route: POST /multi-search
Request
new request parameters:
federation.showPerformanceDetails:true/false(boolean)
{
"federation": { "showPerformanceDetails": true },
"queries": [
{
"indexUid": "<index_uid>",
"q": "glass"
}
]
}
Response
new response field:
performanceDetails:{"<span>": "<human_duration>", .. }(map)
{
"hits": [
// hits ..
],
"query": "glass",
"processingTimeMs": 5,
"limit": 20,
"offset": 0,
"estimatedTotalHits": 1,
"requestUid": "<uuid>",
"performanceDetails": {
"wait for permit": "213.83µs",
"search > tokenize": "171.67µs",
"search > resolve universe": "257.63µs",
"search > keyword search": "577.71µs",
"search > format": "114.96µs",
"search > federation > wait for remote results": "62.71µs",
"search > federation > merge results": "120.04µs",
"search > federation > merge facets": "53.42µs",
"search > federation": "237.04µs",
"search": "289.08ms"
}
}
Similar
routes: POST /indexes/<index_uid>/similar and GET /indexes/<index_uid>/similar
Request
new request parameters:
showPerformanceDetails:true/false(boolean)
{
"id": 143,
"embedder": "manual",
"showPerformanceDetails": true
}
Response
new response field:
performanceDetails:{"<span>": "<human_duration>", .. }(map)
{
"hits": [
// hits ..
],
"id": "143",
"processingTimeMs": "[duration]",
"limit": 20,
"offset": 0,
"estimatedTotalHits": 4,
"performanceDetails": {
"search > format": "244.92µs",
"search": "1.25ms"
}
}
By @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6132
Stabilize multithreaded post-processing of facets and prefixes
Multithreaded post-processing of facets and prefixes speeds-up indexing on multi-core machines.
Before v1.35.0, it could be disabled with an experimental feature.
Meilisearch v1.35.0 removes that experimental feature, resulting in the multithreaded post-processing being always enabled.
Cloud users upgrading to v1.35.0 will benefit from the speed-up.
By @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6130
🦋 Fixes
Breaking change: return pagination fields in POST /indexes/<index_uid>/fields route
[!WARNING] Breaking change: The
POST /indexes/<index_uid>/fieldsroute now returns an object containing theresults,offset,limit, andtotalfields instead of returning an array of results. This change allows to know how many fields match a given filter
Before:
[
// fields ..
]
After:
{
"results": [
// [fields .. ]
],
"offset": 0,
"limit": 20,
"total": 0
}
By @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6126
POST /indexes/<index_uid>/fields: Fix pattern filtering when a parent field was matching a child pattern: title was matching the pattern title.to*.
For the following request:
{
"filter": {
"attributePatterns": [
"title.en"
]
}
}
Before Response, title field is returned:
{
"results": [
{
"name": "title",
//metadata...
},
],
"offset": 0,
"limit": 20,
"total": 1
}
After Response, nothing returned:
{
"results": [],
"offset": 0,
"limit": 20,
"total": 0
}
By @ManyTheFish, also in https://github.com/meilisearch/meilisearch/pull/6126
🐛 Other fixes
- Bump mini-dashboard version to fix display of image in local UI interface by @Strift in https://github.com/meilisearch/meilisearch/pull/6129
- Fix mTLS compatibility with Go by @curquiza in https://github.com/meilisearch/meilisearch/pull/6133
🔩 Miscellaneous
- Add AI usage disclosure guidelines to CONTRIBUTING.md by @meili-bot in https://github.com/meilisearch/meilisearch/pull/6114
- Expose SettingsDelta and related types for external crate usage by @MkDev11 in https://github.com/meilisearch/meilisearch/pull/6119
New Contributors
- @MkDev11 made their first contribution in https://github.com/meilisearch/meilisearch/pull/6119 ❤️
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.34.3...v1.35.0
download
curl -fL -o v1.35.0.zip https://ratatoskr.space/pkg/meilisearch/v1.35.0.zip
printf '%s %s\n' '5f08063ffbda286985b4521ef12bd413f154bbf2adeb979db9853bf3767a43a2' 'v1.35.0.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/meilisearch/v1.35.0.zip"
$out = "v1.35.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "5f08063ffbda286985b4521ef12bd413f154bbf2adeb979db9853bf3767a43a2") { throw "sha256 mismatch" }
curl -fL -o v1.35.0.tar.gz https://ratatoskr.space/pkg/meilisearch/v1.35.0.tar.gz
printf '%s %s\n' '59fb1045ed052509083e87307f8ee2409b7e1a3f9514a002d35ca06a4d341a8d' 'v1.35.0.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/meilisearch/v1.35.0.tar.gz"
$out = "v1.35.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "59fb1045ed052509083e87307f8ee2409b7e1a3f9514a002d35ca06a4d341a8d") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1.35.0.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.35.0.zip
printf '%s %s\n' '5f08063ffbda286985b4521ef12bd413f154bbf2adeb979db9853bf3767a43a2' 'v1.35.0.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.35.0.zip"
$out = "v1.35.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "5f08063ffbda286985b4521ef12bd413f154bbf2adeb979db9853bf3767a43a2") { throw "sha256 mismatch" }
curl -fL -o v1.35.0.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.35.0.tar.gz
printf '%s %s\n' '59fb1045ed052509083e87307f8ee2409b7e1a3f9514a002d35ca06a4d341a8d' 'v1.35.0.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.35.0.tar.gz"
$out = "v1.35.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "59fb1045ed052509083e87307f8ee2409b7e1a3f9514a002d35ca06a4d341a8d") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1.35.0.zip | zip | 20.2 MiB |
blake3-24 3d8923b3d1e551f395c35937e3b97c9289abfe8cc5037bfe
sha256 5f08063ffbda286985b4521ef12bd413f154bbf2adeb979db9853bf3767a43a2
sha1 dc93e89350af850a204069a09a546a205bccfafd
|
| v1.35.0.tar.gz | tar.gz | 19.2 MiB |
blake3-24 28e8dec22a99771ece202cce1e5017b132a10f10c4619c43
sha256 59fb1045ed052509083e87307f8ee2409b7e1a3f9514a002d35ca06a4d341a8d
sha1 df0b01381f2749fd1e614a2c6c6cd99e261dda68
|
install
http_archive(
name = "meilisearch",
urls = ["https://ratatoskr.space/pkg/meilisearch/v1.35.0.tar.gz"],
integrity = "sha256-WfsQRe0FJQkIPocwf47iQJt+Gj+VFKAC01ygak00Go0=",
strip_prefix = "meilisearch-v1.35.0",
)
.url = "https://ratatoskr.space/pkg/meilisearch/v1.35.0.tar.gz",
install via yggdrasil mesh
http_archive(
name = "meilisearch",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.35.0.tar.gz"],
integrity = "sha256-WfsQRe0FJQkIPocwf47iQJt+Gj+VFKAC01ygak00Go0=",
strip_prefix = "meilisearch-v1.35.0",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.35.0.tar.gz",