A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/meilisearch/meilisearch/releases below:

Releases Β· meilisearch/meilisearch Β· GitHub

Releases: meilisearch/meilisearch

Releases Β· meilisearch/meilisearch

v1.17.1 πŸ€ v1.17.0 πŸ€ v1.16.0 🦚

Meilisearch v1.16 introduces two main features: multimodal embeddings and a new /export route. Multimodal embeddings use AI-powered search to index images in addition to textual documents. The /export route simplifies migrating from a local Meilisearch instance to Meilisearch Cloud.

🧰 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 πŸ”₯ Experimental feature: Multimodal embeddings

v1.16 allows indexing and searching non-textual documents, as well as performing searches with image queries. This new feature uses multimodal embedders to provide a common semantic representation for images, texts, and any other piece of data.

Usage

First, enable the multimodal experimental feature:

curl \
  -X PATCH 'MEILISEARCH_URL/experimental-features/' \
  -H 'Content-Type: application/json'  \
  --data-binary '{
    "multimodal": true
  }'

Next, pick an embedder provider that supports multimodal embeddings such as Cohere or VoyageAI to start building the embedding configuration.

The following is an example configuration for multimodal embedder using VoyageAI:

curl \
  -X PATCH 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/embedders' \
  -H 'Content-Type: application/json' \
  --data-binary '{
    "voyage": {
      "source": "rest",
      "url": "https://api.voyageai.com/v1/multimodalembeddings",
      "apiKey": "VOYAGE_API_KEY",
      "indexingFragments": {
        "text": {
          "value": {
            "content": [
              {
                "type": "text",
                "text": "A movie titled {{doc.title}} whose description starts with {{doc.overview|truncateWords:20}}."
              }
            ]
          }
        },
        "poster": {
          "value": {
            "content": [
              {
                "type": "image_url",
                "image_url": "{{doc.poster}}"
              }
            ]
          }
        }
      },
      "searchFragments": {
        "poster": {
          "value": {
            "content": [
              {
                "type": "image_url",
                "image_url": "{{media.poster}}"
              }
            ]
          }
        },
        "image": {
          "value": {
            "content": [
              {
                "type": "image_base64",
                "image_base64": "data:{{media.image.mime}};base64,{{media.image.data}}"
              }
            ]
          }
        },
        "text": {
          "value": {
            "content": [
              {
                "type": "text",
                "text": "{{q}}"
              }
            ]
          }
        }
      },
      "request": {
        "inputs": [
          "{{fragment}}",
          "{{..}}"
        ],
        "model": "voyage-multimodal-3"
      },
      "response": {
        "data": [
          {
            "embedding": "{{embedding}}"
          },
          "{{..}}"
        ]
      }
    }}

The configuration above sets up Meilisearch to generate vectors for two fields: text and poster. It also allows users to perform searches with an image URL, a raw image, or regular text.

Use the new media search parameter together with one of the searchFragments you specified in your embedder to search with an image:

curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \
  -H 'content-type: application/json' \
  --data-binary '{
    "media": {
      "poster": "https://image.tmdb.org/t/p/w500/pgqj7QoBPWFLLKtLEpPmFYFRMgB.jpg"
    },
    "hybrid": {
      "embedder": "EMBEDDER_NAME"
    }
  }'

You can also perform a text search with q and hybrid:

curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \
  -H 'content-type: application/json' \
  --data-binary '{
    "q": "A movie with lightsabers in space",
    "hybrid": {
      "embedder": "voyage",
      "semanticRatio": 0.5
    }
  }'

Meilisearch performs searches all fields with embeddings when parsing hybrid queries targeting indexes with multimodal embedders.

For more information about this feature, please refer to its public usage page

Done by @dureuill in #5596

The new /export route

v1.16 introduces a new /export route that allows transferring documents between instances without having to create a dump or a snapshot. This feature is particularly useful when migrating from a local machine to Meilisearch Cloud.

Usage

To transfer data between instances, query /export and point its url parameter to the URL of the target instance:

curl \
  -X POST 'MEILISEARCH_URL/export' \
  -H 'Content-Type: application/json' \
  --data-binary '{
    "url": "http://localhost:7711"
  }'

This will generate an export and task start migrating data between instances. Depending on the target instance, you may also have to supply an API key with full admin permissions in the apiKey parameter. Consult the documentation for an exhaustive list of accepted parameters.

If the request fails, Meilisearch will retry a few times before setting its status to failed. You may also cancel an export task manually. In this case, Meilisearch will interrupt the task locally, but not in the target instance.

Done by @Kerollmops with the help of @Mubelotix in #5670

Other improvements Fixes 🐞 Misc Read more v1.16.0-rc.5 🦚 v1.16.0-rc.4 🦚 v1.16.0-rc.3 🦚 v1.16.0-rc.2 🦚 v1.16.0-rc.1 🦚

Warning

Since this is a release candidate (RC), we do NOT recommend using it in a production environment. Is something not working as expected? We welcome bug reports and feedback about new features.

πŸ¦‹ Bug fixes Other improvements See also v1.16.0-rc.0 🦚

Warning

Since this is a release candidate (RC), we do NOT recommend using it in a production environment. Is something not working as expected? We welcome bug reports and feedback about new features.
⚠ In particular, upgrading from a database containing embeddings is known not to work in RC.0 ⚠

Meilisearch v1.16 introduces two core features, multimodal embeddings allowing to index images, text and other formats; and the Export/Transfer of documents between instances easing the migration of a local Meilisearch into the cloud!

New features and updates πŸ”₯ Multimodal embeddings

Meilisearch now allows conveniently indexing images, text and other formats in documents, and to retrieve documents by searching with an image or a text query.

This new feature leverages multimodal embedders to provide a common semantic representation for images, texts, and any other piece of data in a format supported by the chosen model.

As an example, the sample movies dataset contains movie descriptions and links to movie posters. Using this new feature, it is possible to use text to search both in the descriptions and the posters, or to use an image to search for similar looking posters, or movies with a description matching the query image.

Usage

To use multimodal embeddings, start by enabling the multimodal experimental feature:

curl $MEILISEARCH_URL/experimental-features -X PATCH -H 'Content-type: application/json' -d '{"multimodal": true}'

Then pick an embedder service that supports multimodal such as cohere or VoyageAI to start building the embedding configuration.

An example configuration for VoyageAI to index the description and poster from the movies database, and to search by text or image, might look like the following:

Then, to search by poster (image URL):

To search by image data (encoded as base64):

To search by text (performing a hybrid search):

For more information about this feature, please refer to its public usage page

Done by @dureuill in #5596

Export/Transfer documents between instances

Meilisearch now allows to transfer documents from an instance to another without having to create a dump or a snapshot. This feature will ease the migration to the Cloud by streaming all the documents from a local instance to a cloud one.

Usage

We expose one single route on the instance which accepts a bunch of parameters.

POST: /export

{
  "url": "http://localhost:7711",
  "apiKey": null,
  "payloadSize": "123 MiB",
  "indexes": {
    "*": {
      "filter": null,
      "overrideSettings": true
    }
  }
}

Response:

{
  "taskUid": 2,
  "indexUid": null,
  "status": "enqueued",
  "type": "export",
  "enqueuedAt": "2025-06-26T12:54:10.785864Z"
}

One task can retry requests in case of failure (not indefinitely, though) and can also be canceled. However, keep in mind that canceling this export task will not cancel tasks received by the targeted Meilisearch instance.

Done by @Kerollmops with the help of @Mubelotix in #5670

Other improvements Fixes 🐞 Misc Read more v1.15.2 🦘

This patch release introduces a major fix and some minor fixes.

Major fix: searchable attributes database bug

Some searchable fields were removed from the searchable databases when they were removed from the filterableAttributes setting.
This made them unsearchable, although they were still precise in the searchableAttributes setting.

Fixed by @ManyTheFish in #5660

Minor fixes

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4