Adds Multimodal search page - #7706
Conversation
Elastic Docs AI PR menuCheck the box to run an AI review for this pull request.
Powered by GitHub Agentic Workflows and docs-actions. For more information, reach out to the docs team. |
Elastic Docs Style Checker (Vale)Summary: 2 warnings, 2 suggestions found
|
| File | Line | Rule | Message |
|---|---|---|---|
| solutions/search/multimodal-search.md | 90 | Elastic.Spelling | 'Omni' is a possible misspelling. |
| solutions/search/search-approaches.md | 24 | Elastic.DontUse | Don't use 'just'. |
💡 Suggestions (2): Optional style improvements. Apply when helpful.
| File | Line | Rule | Message |
|---|---|---|---|
| solutions/search/multimodal-search.md | 106 | Elastic.Semicolons | Use semicolons judiciously. |
| solutions/search/multimodal-search/multimodal-search-tutorial.md | 324 | Elastic.WordChoice | Consider using 'open' instead of 'launch', unless the term is in the UI. |
The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale.
|
|
||
| ## Multimodal embedding models [multimodal-embedding-models] | ||
|
|
||
| Compare the multimodal embedding models available with {{es}}: |
There was a problem hiding this comment.
We're creating additional maintenance burden here by hardcoding another list of models. Let's put the embedding models into shared snippets and we can reuse them across multiple pages :)
|
|
||
| For the full Jina catalog, deployment matrix, and input examples, refer to [Jina models](/explore-analyze/machine-learning/nlp/ml-nlp-jina.md). For EIS availability by stack version, refer to [Supported models on EIS](/explore-analyze/elastic-inference/eis-supported-models.md). | ||
|
|
||
| You can deploy or access Jina multimodal models in these ways: |
There was a problem hiding this comment.
nit: even this is a candidate for a shared snippet considering the core info is already in Jina pages
|
|
||
| ## Use the `semantic` field type [semantic-field-for-multimodal-search] | ||
|
|
||
| The `semantic` field type is the simplest way to run multimodal search in {{es}}. For field parameters, defaults, supported input types, and limitations, refer to the [`semantic` field documentation](elasticsearch://reference/elasticsearch/mapping-reference/semantic-field.md). |
There was a problem hiding this comment.
i'd delete "The semantic field type is the simplest way to run multimodal search in {{es}}."
because we say the same thing better in "The semantic field type simplifies semantic and multimodal search across text, images, audio, video, and PDF files."
For field parameters, defaults, supported input types, and limitations, refer to the
semanticfield documentation.
I'd move this to just before the example
|
|
||
| Here's an example using the Jina Embeddings v5 Omni Small endpoint: | ||
|
|
||
| ```json |
There was a problem hiding this comment.
| ```json | |
| ```console |
| "properties": { | ||
| "content": { | ||
| "type": "semantic", | ||
| "inference_id": ".jina-embeddings-v5-omni-small" |
There was a problem hiding this comment.
nit: an annotation making it clear that inference_id is required for semantic, might be useful here
| - **[Jina API](/explore-analyze/machine-learning/nlp/ml-nlp-jina.md#jina-external)**: The model runs on the hosted Jina platform. Use this when you want Jina-hosted {{infer}} outside EIS. | ||
| - **[On-prem](/explore-analyze/machine-learning/nlp/ml-nlp-jina.md#jina-on-prem)**: You run the model in Docker on your own infrastructure. Use this for air-gapped, offline, or compliance scenarios. | ||
|
|
||
| ## Use the `semantic` field type [semantic-field-for-multimodal-search] |
There was a problem hiding this comment.
imperative is out of the sync with the rest of the subheadings on this page
| Elasticsearch provides multiple ways to implement vector, semantic, and multimodal search, depending on how much control you need over embedding generation and retrieval. | ||
|
|
||
| ### Semantic search (managed workflows) | ||
| ### Semantic search for text (managed workflows) |
There was a problem hiding this comment.
We could use this opportunity to trim down the links on this page, to focus on the core value stuff and rely on the left-nav for the longer tail stuff like ELSER, Cohere etc.
This overview section is kinda overwhelming now which is the opposite of what we want in a curated overview :)
|
|
||
| You now have a `semantic` field that embeds images at index time and accepts text, image, or PDF input at search time. To adapt this tutorial to an application: | ||
|
|
||
| - Replace the sample images and metadata with your own visual archive. |
There was a problem hiding this comment.
| - Replace the sample images and metadata with your own visual archive. | |
| - Ingest your own multimedia data |
the original tutorial was a little rushed, can be more general here :)
|
|
||
| - [Multimodal search](../multimodal-search.md) | ||
| - [`semantic` field type](elasticsearch://reference/elasticsearch/mapping-reference/semantic-field.md) | ||
| - [Jina multimodal embeddings](/explore-analyze/machine-learning/nlp/ml-nlp-jina.md#jina-multimodal-embeddings) |
There was a problem hiding this comment.
| - [Jina multimodal embeddings](/explore-analyze/machine-learning/nlp/ml-nlp-jina.md#jina-multimodal-embeddings) | |
| - [Jina multimodal embeddings models](/explore-analyze/machine-learning/nlp/ml-nlp-jina.md#jina-multimodal-embeddings) |
| - id: cloud-serverless | ||
| type: tutorial | ||
| --- | ||
| # Build multimodal search with a semantic field [multimodal-search-tutorial] |
There was a problem hiding this comment.
| # Build multimodal search with a semantic field [multimodal-search-tutorial] | |
| # Quickstart: Build a multimodal search in {{es}} [multimodal-search-tutorial] |
adding "in {{es}}" for SEO + George's SEO proposal has a suggestion to prefix "quickstarts" e.g.
Quickstart: Build a multimodal search in {{es}}
Also I think "with a semantic field" is potentially superfluous info in the heading. Not super strongly held opinion however.
(using "quickstart" with one on the future gives us more naming options if we add new tutorials going forward)
Summary
This PR:
Related issue: #7603
Generative AI disclosure
Curson agents