yggvault ratatoskr-space connected via regular web
Color theme
also available via yggdrasil mesh http://[203:b338:2a84:a18f:986:47ae:1a4:d8d3]/pkg/meilisearch/v1.1.0
vault / meilisearch / v1.1.0

meilisearch @ v1.1.0

integrity

size
13.7 MiB
downloaded
last checked
source https://github.com/meilisearch/meilisearch · available · github

release notes

Meilisearch v1.1.0 introduces the much-requested multi-index search! You can now use one single HTTP request to perform different searches in multiple indexes.

Additional new features include: the geoBoundingBox geosearch filter, the addition of a facetStats object to queries using the facets search parameter, and the customization of CSV separators.

🧰 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 <3).

New features and improvements 🔥

Multi-index search: allow multiple searches in a single request

Perform searches in multiple indexes in a single HTTP request using the new /multi-search endpoint:

curl \
  -X POST 'http://localhost:7700/multi-search' \
  -H 'Content-Type: application/json' \
  --data-binary '{
    "queries": [
      {
        "indexUid": "products",
        "q": "Nike",
        "limit": 1
      },
      {
        "indexUid": "brands",
        "q": "Nike",
        "limit": 1
      }
    ]
  }'

When you use the multi-index search endpoint, Meilisearch returns an array of results for each queried index:

{
	"results": [
	  {
	    "indexUid": "products",
	    "hits": […],
	    "query": "Nike",
	    "processingTimeMs": 1,
	    "limit": 1,
	    "offset": 0,
	    "estimatedTotalHits": 17
	  },
	  {
	    "indexUid": "brands",
	    "hits": […],
	    "query": "Nike",
	    "processingTimeMs": 0,
	    "limit": 1,
	    "offset": 0,
	    "estimatedTotalHits": 7
	  }
	]
}

Done by @dureuill in #3417

Introduce facetStats

Queries containing the facets parameter now include a facetStats object by default:

curl \
  -X POST 'http://localhost:7700/indexes/movies/search' \
  -H 'Content-Type: application/json' \
  --data-binary '{
    "facets": ["price"]
  }'

facetStats only lists facets containing numerical values. Facets with other types of values are not included in the facetStats object. This object contains the minimum (min) and the maximum (max) of each numerical facet:

{
  "hits": […],
  "facetDistribution": {
    "price": {…}
  },
  "facetStats": {
    "price": {
      "min": 2,
      "max": 60
    }
  }
}

Done by @dureuill in #3423.

New geosearch filter: _geoBoundingBox

Use the filter search parameter and the _geoBoundingBox filter expression to obtain results contained within a specific geographic area.

curl \
  -X POST 'http://localhost:7700/indexes/restaurants/search' \
  -H 'Content-type:application/json' \
  --data-binary '{ "filter": "_geoBoundingBox([45.472735, 9.184019],[45.473711, 9.185613] )" }'

_geoBoundingBox([lat, lng], [lat, lng]) accepts two parameters: one array specifying the top right corner, and a second array specifying the bottom left corner.

Done by @gmourier and @irevoire in #3405 and #3529.

Removing limits on index size and count

Meilisearch no longer limits the size nor the amount of indexes a single instance may contain. You can now create an unlimited number of indexes, whose maximum size will be only dictated by the memory address space devoted to a single process by the OS. Under Linux, the limit is at about 80TiB.

Done by @dureuill in #3319, #3331 and #3544.

Experimental feature: monitor Meilisearch usage with Prometheus

This release introduces an experimental feature allowing you to monitor metrics with Prometheus.

When launching Meilisearch, use the following flag:

meilisearch --experimental-enable-metrics

The /metrics route will be available and compatible with Prometheus.

🗣️ Since this feature is experimental, we need your help to iterate on it! You are more than welcome to share your thoughts and your feedback on this discussion.

⚠️ The experimental feature API can break between Meilisearch versions. Be careful if using it in production.

Done by @irevoire, @dureuill, and @james-2001 in #3496, #3524, #3538 and #3543.

Improve language support

🇯🇵 For people using Japanese datasets, language detection might still fail on small datasets. For instance, a song dataset that only contains titles in Japanese will still be detected as Chinese. If you encounter any issue, we recommend you use this prototype which is an alternative version of Meilisearch v1.1 for Japanese users. Please, let us know about any feedback you may have in this dicussion.

Done in #3347, #3569 and on Charabia by @choznerol, @cymruu, @james-2001 and @ManyTheFish.

Other improvements

Fixes 🐞

Misc

The following changes do not impact user experience.

❤️ Thanks again to our external contributors:

download

unix · zip
curl -fL -o v1.1.0.zip https://ratatoskr.space/pkg/meilisearch/v1.1.0.zip
                    printf '%s  %s\n' 'ac009bc1d408c4c7177172cc09d25d642d31078a80bc8860b1d97010fa65db66' 'v1.1.0.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/meilisearch/v1.1.0.zip"
$out = "v1.1.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "ac009bc1d408c4c7177172cc09d25d642d31078a80bc8860b1d97010fa65db66") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1.1.0.tar.gz https://ratatoskr.space/pkg/meilisearch/v1.1.0.tar.gz
                    printf '%s  %s\n' 'a4e80aa1166f39e7503b1a1fb868364f4c4a70ce5c1e76815e17cf161322cb15' 'v1.1.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/meilisearch/v1.1.0.tar.gz"
$out = "v1.1.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "a4e80aa1166f39e7503b1a1fb868364f4c4a70ce5c1e76815e17cf161322cb15") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v1.1.0.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.1.0.zip
                    printf '%s  %s\n' 'ac009bc1d408c4c7177172cc09d25d642d31078a80bc8860b1d97010fa65db66' 'v1.1.0.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.1.0.zip"
$out = "v1.1.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "ac009bc1d408c4c7177172cc09d25d642d31078a80bc8860b1d97010fa65db66") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1.1.0.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.1.0.tar.gz
                    printf '%s  %s\n' 'a4e80aa1166f39e7503b1a1fb868364f4c4a70ce5c1e76815e17cf161322cb15' 'v1.1.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.1.0.tar.gz"
$out = "v1.1.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "a4e80aa1166f39e7503b1a1fb868364f4c4a70ce5c1e76815e17cf161322cb15") { throw "sha256 mismatch" }
artifact format size hashes
v1.1.0.zip zip 13.6 MiB
blake3-24 f4ad81b9096d152b6958e6fd241571cab2a6700ee454fb9f
sha256 ac009bc1d408c4c7177172cc09d25d642d31078a80bc8860b1d97010fa65db66
sha1 15c0b2ebc76f5202ca1d16b9997ce6a411536cdf
v1.1.0.tar.gz tar.gz 13.2 MiB
blake3-24 09607bbaf2e2b6e4b413d5d9c77127777590064c20b77c6a
sha256 a4e80aa1166f39e7503b1a1fb868364f4c4a70ce5c1e76815e17cf161322cb15
sha1 f1bde6f8dcc6da67a8a6731ba6295ec8028e8f29

install

bazel
http_archive(
    name = "meilisearch",
    urls = ["https://ratatoskr.space/pkg/meilisearch/v1.1.0.tar.gz"],
    integrity = "sha256-pOgKoRZvOedQOxofuGg2T0xKcM5cHnaBXhfPFhMiyxU=",
    strip_prefix = "meilisearch-v1.1.0",
)
zig
.url = "https://ratatoskr.space/pkg/meilisearch/v1.1.0.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
    name = "meilisearch",
    urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.1.0.tar.gz"],
    integrity = "sha256-pOgKoRZvOedQOxofuGg2T0xKcM5cHnaBXhfPFhMiyxU=",
    strip_prefix = "meilisearch-v1.1.0",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/meilisearch/v1.1.0.tar.gz",
← v1.1.1v1.0.2 →