You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: learn/resources/experimental_features_overview.mdx
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -59,3 +59,4 @@ Activating or deactivating experimental features this way does not require you t
59
59
|[Search query embedding cache](/learn/self_hosted/configure_meilisearch_at_launch#search-query-embedding-cache)| Enable a cache for search query embeddings | CLI flag or environment variable |
60
60
|[Uncompressed snapshots](/learn/self_hosted/configure_meilisearch_at_launch#uncompressed-snapshots)| Disable snapshot compaction | CLI flag or environment variable |
61
61
|[Maximum batch payload size](/learn/self_hosted/configure_meilisearch_at_launch#maximum-batch-payload-size)| Limit batch payload size | CLI flag or environment variable |
62
+
|[Multimodal search](/references/api/settings#indexingfragments)| Enable multimodal search | API route |
Specifies data to populate search fragments when performing multimodal searches.
1308
+
1309
+
`media` must be an object whose fields must correspond to the data required by one search fragment. `media` must match a single search fragment. If `media` matches more than one fragment or no search fragments at all, Meilisearch will return an error.
1310
+
1311
+
It is mandatory to specify an embedder when using `media`.
1312
+
1313
+
#### Example
1314
+
1315
+
<CodeSamplesSearchParameterReferenceLocales1 />
1316
+
1317
+
```sh
1318
+
curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \
Use `indexingFragments` and `searchFragments` to set up Meilisearch to perform multimodal searches.
2896
+
2897
+
`indexingFragments` specifies which fields in your documents should be used during multimodal embedding generation. It must be an object with the following structure:
2898
+
2899
+
```json
2900
+
"FRAGMENT_NAME": {
2901
+
"value": {
2902
+
…
2903
+
}
2904
+
}
2905
+
```
2906
+
2907
+
`FRAGMENT_NAME` can be any valid string. It must contain a single field, `value`. `value` must then follow your chosen model's specifications.
2908
+
2909
+
For example, for Voyage AI's text and image embedder, `value` must be an array containing a single object with a `type` field. Depending on `type`'s value, you must include either `text`, `image_url`, or `image_base64`:
2910
+
2911
+
```json
2912
+
{
2913
+
"FRAGMENT_NAME_A": {
2914
+
"value": {
2915
+
"content": [
2916
+
{
2917
+
"type": "text",
2918
+
"text": "A document called {{doc.title}} that can be described as {{doc.description}}"
2919
+
}
2920
+
]
2921
+
}
2922
+
},
2923
+
"FRAGMENT_NAME_B": {
2924
+
"value": {
2925
+
"content": [
2926
+
{
2927
+
"type": "image_url",
2928
+
"image_url": "{{doc.image_url}}"
2929
+
}
2930
+
]
2931
+
}
2932
+
},
2933
+
}
2934
+
```
2935
+
2936
+
Use Liquid templates to interpolate document data into the fragment fields, where `doc` gives you access to all fields within a document.
2937
+
2938
+
`indexingFragments` is optional when using the `rest` source.
2939
+
2940
+
`indexingFragments` is incompatible with all other embedder sources.
2941
+
2942
+
Specifying a `documentTemplate` in an embedder using `indexingFragments` will result in an error.
2943
+
2944
+
You must specify at least one valid fragment in `searchFragments` when using `indexingFragments`.
`searchFragments` instructs Meilisearch how to parse fields present in a query's `media` search parameter. It must be an object following the same structure as the `indexerFragments` object:
2962
+
2963
+
```json
2964
+
"FRAGMENT_NAME": {
2965
+
"value": {
2966
+
…
2967
+
}
2968
+
}
2969
+
```
2970
+
2971
+
As with `indexingFragments`, the content of `value` should follow your model's specification.
2972
+
2973
+
Use Liquid templates to interpolate search query data into the fragment fields, where `media` gives you access to all fields specified in the query's `media` field:
0 commit comments