Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure AI Search puede extraer e indexar texto e imágenes de documentos PDF almacenados en Azure Blob Storage. En este tutorial se muestra cómo crear una canalización de indexación bidireccional en Azure AI Search que fragmenta los datos mediante la aptitud integrada División de texto y usa incrustaciones bidireccionales para vectorizar texto e imágenes del mismo documento. Las imágenes recortadas se almacenan en un almacén de conocimiento y tanto el contenido visual como el texto se vectorizan e ingieren en un índice que se puede buscar.
En este tutorial, usará:
Documento PDF de 36 páginas que combina contenido visual enriquecido, como gráficos, infografías y páginas escaneadas, con texto tradicional.
Un indexador y un conjunto de habilidades para crear una canalización de indexación que incluya el enriquecimiento con IA a través de habilidades.
La capacidad de extracción de documentos para extraer imágenes normalizadas y texto. La habilidad Dividir texto fragmenta los datos.
La habilidad de incrustaciones multimodales de Azure Vision para vectorizar texto e imágenes.
Índice de búsqueda configurado para almacenar el texto extraído y el contenido de la imagen. Algunos contenidos se vectorizan para la búsqueda de similitud basada en vectores.
En este tutorial se muestra un enfoque de menor costo para indexar contenido bidireccional mediante la aptitud Extracción de documentos. Permite la extracción y búsqueda tanto de texto como de imágenes de documentos extraídos de Azure Blob Storage. Sin embargo, no incluye metadatos de ubicación para texto, como números de página o regiones delimitadas. Para obtener una solución más completa que incluya el diseño de texto estructurado y los metadatos espaciales, consulte Tutorial: Vectorizar a partir de un diseño de documento estructurado.
Note
La extracción de imágenes mediante la habilidad de Extracción de Documentos no es gratuita. Al configurar imageAction en generateNormalizedImages en el conjunto de habilidades se activa la extracción de imágenes, lo cual conlleva un cargo adicional. Para obtener información de facturación, consulte Precios de Azure AI Search.
Prerequisites
Recurso de Microsoft Foundry. Este recurso proporciona acceso al modelo de incrustación multimodal de Azure Vision que se utiliza en este tutorial. Debe usar un recurso de Foundry para el acceso mediante el conjunto de aptitudes a estos recursos.
Búsqueda de Azure AI. Configure el servicio de búsqueda para el control de acceso basado en rol y una identidad administrada para las conexiones a Azure Storage y Azure Vision. El servicio debe estar en el nivel Básico o superior. Este tutorial no se admite en el nivel Gratis.
Azure Storage, que se usa para almacenar datos de ejemplo y para crear un almacén de conocimiento.
Visual Studio Code con un cliente REST.
Limitaciones
- La capacidad de embeddings multimodales de Azure Vision tiene una disponibilidad regional limitada. Al crear un recurso Foundry, elija una región que proporcione embeddings multimodales. Para obtener una lista actualizada de las regiones que proporcionan instalaciones multimodales, consulte la documentación de Azure Vision.
Preparación de datos
Las instrucciones siguientes se aplican a Azure Storage, que proporciona los datos de ejemplo y también hospeda el almacén de conocimiento. Una identidad del servicio de búsqueda necesita acceso de lectura al almacenamiento de Azure para recuperar los datos de ejemplo y necesita acceso de escritura para crear el almacén de conocimiento. El servicio de búsqueda crea el contenedor para las imágenes recortadas durante el procesamiento del conjunto de aptitudes, con el nombre que se proporciona en una variable de entorno.
Descargue el siguiente PDF de ejemplo: sustainable-ai-pdf
En Azure Storage, cree un contenedor denominado sustainable-ai-pdf.
Cree asignaciones de roles y especifique una identidad administrada en una cadena de conexión:
Asigne Lector de datos de Storage Blob para la recuperación de datos por parte del indexador. Asigne Colaborador de datos de Storage Blob y Colaborador de datos de tabla de almacenamiento para crear y cargar el almacén de conocimiento. Puede usar una identidad administrada asignada por el sistema o una identidad administrada asignada por el usuario para la asignación de roles del servicio de búsqueda.
Para las conexiones realizadas mediante una identidad administrada asignada por el sistema, obtenga una cadena de conexión que contenga un ResourceId, sin clave de cuenta ni contraseña. ResourceId debe incluir el identificador de suscripción de la cuenta de almacenamiento, el grupo de recursos de la cuenta de almacenamiento y el nombre de la cuenta de almacenamiento. La cadena de conexión es parecida a la del ejemplo siguiente:
"credentials" : { "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" }Para las conexiones realizadas mediante una identidad administrada asignada por el usuario, obtenga una cadena de conexión que contenga un ResourceId, sin clave de cuenta ni contraseña. ResourceId debe incluir el identificador de suscripción de la cuenta de almacenamiento, el grupo de recursos de la cuenta de almacenamiento y el nombre de la cuenta de almacenamiento. Proporcione una identidad con la sintaxis que se muestra en el ejemplo siguiente. Establezca userAssignedIdentity en la identidad administrada asignada por el usuario. La cadena de conexión es parecida a la del ejemplo siguiente:
"credentials" : { "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" }, "identity" : { "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity", "userAssignedIdentity" : "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MY-DEMO-USER-MANAGED-IDENTITY" }
Preparación de modelos
En este tutorial se da por supuesto que tiene un recurso de Foundry existente mediante el cual la aptitud llama al modelo de embeddings multimodal de Azure Vision 4.0. El servicio de búsqueda se conecta al modelo durante el procesamiento del conjunto de aptitudes mediante su identidad administrada. En esta sección se proporcionan instrucciones y vínculos para asignar roles para el acceso autorizado.
Inicie sesión en Azure Portal (no en el portal de Foundry) y busque el recurso Foundry. Asegúrese de que se encuentra en una región que proporciona la API 4.0 multimodal.
Seleccione Control de acceso (IAM).
Seleccione Agregar y, a continuación, Agregar asignación de roles.
Busque Usuario de Cognitive Services y selecciónelo.
Elija Identidad administrada y, a continuación, asigne la identidad administrada del servicio de búsqueda.
Configuración del archivo REST
En este tutorial, la conexión del cliente REST local a Azure AI Search requiere un punto de conexión y una clave de API. Puede obtener estos valores en Azure Portal. Para obtener métodos de conexión alternativos, consulte Conexión a un servicio de búsqueda.
Para las conexiones autenticadas que se producen durante el procesamiento del indexador y del conjunto de aptitudes, el servicio de búsqueda usa las asignaciones de roles que definió anteriormente.
Inicie Visual Studio Code y cree un nuevo archivo.
Proporcione valores para las variables usadas en la solicitud. Para
@storageConnection, asegúrese de que la cadena de conexión no termine con un punto y coma ni con comillas. En@imageProjectionContainer, proporcione un nombre de contenedor único en Blob Storage. Azure AI Search crea este contenedor automáticamente durante el procesamiento de aptitudes.@searchUrl = PUT-YOUR-SEARCH-SERVICE-ENDPOINT-HERE @searchApiKey = PUT-YOUR-ADMIN-API-KEY-HERE @storageConnection = PUT-YOUR-STORAGE-CONNECTION-STRING-HERE @cognitiveServicesUrl = PUT-YOUR-AZURE-AI-FOUNDRY-ENDPOINT-HERE @modelVersion = 2023-04-15 @imageProjectionContainer=sustainable-ai-pdf-imagesGuarde el archivo mediante una extensión de archivo
.resto.http. Para obtener ayuda con el cliente REST, consulte Inicio rápido: Búsqueda de texto completo mediante REST.
Para obtener el punto de conexión y la clave de API de Azure AI Search:
Inicie sesión en Azure Portal, vaya a la página Información general del servicio de búsqueda y copie la dirección URL. Un punto de conexión de ejemplo podría ser similar a
https://mydemo.search.windows.net.En Configuración>Claves, copie una clave de administrador. Las claves de administrador se utilizan para agregar, modificar y eliminar objetos. Hay dos claves de administrador intercambiables. Copie una de las dos.
Creación de un origen de datos
Crear origen de datos (REST) crea una conexión de origen de datos que especifica qué datos se van a indexar.
POST {{searchUrl}}/datasources?api-version=2025-11-01-preview HTTP/1.1
Content-Type: application/json
api-key: {{searchApiKey}}
{
"name":"doc-extraction-multimodal-embedding-ds",
"description":null,
"type":"azureblob",
"subtype":null,
"credentials":{
"connectionString":"{{storageConnection}}"
},
"container":{
"name":"sustainable-ai-pdf",
"query":null
},
"dataChangeDetectionPolicy":null,
"dataDeletionDetectionPolicy":null,
"encryptionKey":null,
"identity":null
}
Envíe la solicitud. La respuesta debería tener este aspecto:
HTTP/1.1 201 Created
Transfer-Encoding: chunked
Content-Type: application/json; odata.metadata=minimal; odata.streaming=true; charset=utf-8
Location: https://<YOUR-SEARCH-SERVICE-NAME>.search.windows-int.net:443/datasources('doc-extraction-multimodal-embedding-ds')?api-version=2025-11-01-preview -Preview
Server: Microsoft-IIS/10.0
Strict-Transport-Security: max-age=2592000, max-age=15724800; includeSubDomains
Preference-Applied: odata.include-annotations="*"
OData-Version: 4.0
request-id: 4eb8bcc3-27b5-44af-834e-295ed078e8ed
elapsed-time: 346
Date: Sat, 26 Apr 2025 21:25:24 GMT
Connection: close
{
"name": "doc-extraction-multimodal-embedding-ds",
"description": null,
"type": "azureblob",
"subtype": null,
"indexerPermissionOptions": [],
"credentials": {
"connectionString": null
},
"container": {
"name": "sustainable-ai-pdf",
"query": null
},
"dataChangeDetectionPolicy": null,
"dataDeletionDetectionPolicy": null,
"encryptionKey": null,
"identity": null
}
Creación de un índice
Crear índice (REST) crea un índice de búsqueda en el servicio de búsqueda. Un índice especifica todos los parámetros y sus atributos.
Para JSON anidado, los campos de índice deben ser idénticos a los campos de origen. Actualmente, Azure AI Search no admite asignaciones de campos a JSON anidados, por lo que los nombres de campo y los tipos de datos deben coincidir completamente. El índice siguiente se alinea con los elementos JSON del contenido sin procesar.
### Create an index
POST {{searchUrl}}/indexes?api-version=2025-11-01-preview HTTP/1.1
Content-Type: application/json
api-key: {{searchApiKey}}
{
"name": "doc-extraction-multimodal-embedding-index",
"fields": [
{
"name": "content_id",
"type": "Edm.String",
"retrievable": true,
"key": true,
"analyzer": "keyword"
},
{
"name": "text_document_id",
"type": "Edm.String",
"searchable": false,
"filterable": true,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false
},
{
"name": "document_title",
"type": "Edm.String",
"searchable": true
},
{
"name": "image_document_id",
"type": "Edm.String",
"filterable": true,
"retrievable": true
},
{
"name": "content_text",
"type": "Edm.String",
"searchable": true,
"retrievable": true
},
{
"name": "content_embedding",
"type": "Collection(Edm.Single)",
"dimensions": 1024,
"searchable": true,
"retrievable": true,
"vectorSearchProfile": "hnsw"
},
{
"name": "content_path",
"type": "Edm.String",
"searchable": false,
"retrievable": true
},
{
"name": "offset",
"type": "Edm.String",
"searchable": false,
"retrievable": true
},
{
"name": "location_metadata",
"type": "Edm.ComplexType",
"fields": [
{
"name": "page_number",
"type": "Edm.Int32",
"searchable": false,
"retrievable": true
},
{
"name": "bounding_polygons",
"type": "Edm.String",
"searchable": false,
"retrievable": true,
"filterable": false,
"sortable": false,
"facetable": false
}
]
}
],
"vectorSearch": {
"profiles": [
{
"name": "hnsw",
"algorithm": "defaulthnsw",
"vectorizer": "demo-vectorizer"
}
],
"algorithms": [
{
"name": "defaulthnsw",
"kind": "hnsw",
"hnswParameters": {
"m": 4,
"efConstruction": 400,
"metric": "cosine"
}
}
],
"vectorizers": [
{
"name": "demo-vectorizer",
"kind": "aiServicesVision",
"aiServicesVisionParameters": {
"resourceUri": "{{cognitiveServicesUrl}}",
"authIdentity": null,
"modelVersion": "{{modelVersion}}"
}
}
]
},
"semantic": {
"defaultConfiguration": "semanticconfig",
"configurations": [
{
"name": "semanticconfig",
"prioritizedFields": {
"titleField": {
"fieldName": "document_title"
},
"prioritizedContentFields": [
],
"prioritizedKeywordsFields": []
}
}
]
}
}
Puntos clave:
Las incrustaciones de texto e imagen se almacenan en el
content_embeddingcampo y deben configurarse con dimensiones adecuadas, como 1024, y un perfil de búsqueda vectorial.location_metadatacaptura los metadatos de número de página y polígono delimitador para cada imagen normalizada, lo que permite superposiciones precisas de búsqueda espacial o interfaz de usuario.location_metadatasolo existe para imágenes en este escenario. Si también quiere capturar metadatos de ubicación para texto, considere la posibilidad de usar la habilidad de diseño de documentos. Un tutorial detallado está vinculado en la parte inferior de la página.Para más información sobre la búsqueda de vectores, consulte Vectores en Azure AI Search.
Para más información sobre la clasificación semántica, consulte Clasificación semántica en Azure AI Search.
Crear un conjunto de habilidades
Crear conjunto de aptitudes (REST) crea un conjunto de aptitudes en el servicio de búsqueda. Un conjunto de aptitudes define las operaciones que fragmentan e insertan contenido antes de la indexación. Este conjunto de aptitudes usa la aptitud integrada Extracción de documentos para extraer texto e imágenes. Usa la habilidad División de texto para dividir textos extensos. Usa la habilidad de embeddings multimodal de Azure Vision para vectorizar contenido de imagen y texto.
### Create a skillset
POST {{searchUrl}}/skillsets?api-version=2025-11-01-preview HTTP/1.1
Content-Type: application/json
api-key: {{searchApiKey}}
{
"name": "doc-extraction-multimodal-embedding-skillset",
"description": "A test skillset",
"skills": [
{
"@odata.type": "#Microsoft.Skills.Util.DocumentExtractionSkill",
"name": "document-extraction-skill",
"description": "Document extraction skill to extract text and images from documents",
"parsingMode": "default",
"dataToExtract": "contentAndMetadata",
"configuration": {
"imageAction": "generateNormalizedImages",
"normalizedImageMaxWidth": 2000,
"normalizedImageMaxHeight": 2000
},
"context": "/document",
"inputs": [
{
"name": "file_data",
"source": "/document/file_data"
}
],
"outputs": [
{
"name": "content",
"targetName": "extracted_content"
},
{
"name": "normalized_images",
"targetName": "normalized_images"
}
]
},
{
"@odata.type": "#Microsoft.Skills.Text.SplitSkill",
"name": "split-skill",
"description": "Split skill to chunk documents",
"context": "/document",
"defaultLanguageCode": "en",
"textSplitMode": "pages",
"maximumPageLength": 2000,
"pageOverlapLength": 200,
"unit": "characters",
"inputs": [
{
"name": "text",
"source": "/document/extracted_content",
"inputs": []
}
],
"outputs": [
{
"name": "textItems",
"targetName": "pages"
}
]
},
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"name": "text-embedding-skill",
"description": "Vision Vectorization skill for text",
"context": "/document/pages/*",
"modelVersion": "{{modelVersion}}",
"inputs": [
{
"name": "text",
"source": "/document/pages/*"
}
],
"outputs": [
{
"name": "vector",
"targetName": "text_vector"
}
]
},
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"name": "image-embedding-skill",
"description": "Vision Vectorization skill for images",
"context": "/document/normalized_images/*",
"modelVersion": "{{modelVersion}}",
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "vector",
"targetName": "image_vector"
}
]
},
{
"@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
"name": "shaper-skill",
"description": "Shaper skill to reshape the data to fit the index schema",
"context": "/document/normalized_images/*",
"inputs": [
{
"name": "normalized_images",
"source": "/document/normalized_images/*",
"inputs": []
},
{
"name": "imagePath",
"source": "='{{imageProjectionContainer}}/'+$(/document/normalized_images/*/imagePath)",
"inputs": []
},
{
"name": "dataUri",
"source": "='data:image/jpeg;base64,'+$(/document/normalized_images/*/data)",
"inputs": []
},
{
"name": "location_metadata",
"sourceContext": "/document/normalized_images/*",
"inputs": [
{
"name": "page_number",
"source": "/document/normalized_images/*/pageNumber"
},
{
"name": "bounding_polygons",
"source": "/document/normalized_images/*/boundingPolygon"
}
]
}
],
"outputs": [
{
"name": "output",
"targetName": "new_normalized_images"
}
]
}
],
"cognitiveServices": {
"@odata.type": "#Microsoft.Azure.Search.AIServicesByIdentity",
"subdomainUrl": "{{cognitiveServicesUrl}}",
"identity": null
},
"indexProjections": {
"selectors": [
{
"targetIndexName": "doc-extraction-multimodal-embedding-index",
"parentKeyFieldName": "text_document_id",
"sourceContext": "/document/pages/*",
"mappings": [
{
"name": "content_embedding",
"source": "/document/pages/*/text_vector"
},
{
"name": "content_text",
"source": "/document/pages/*"
},
{
"name": "document_title",
"source": "/document/document_title"
}
]
},
{
"targetIndexName": "doc-extraction-multimodal-embedding-index",
"parentKeyFieldName": "image_document_id",
"sourceContext": "/document/normalized_images/*",
"mappings": [
{
"name": "content_embedding",
"source": "/document/normalized_images/*/image_vector"
},
{
"name": "content_path",
"source": "/document/normalized_images/*/new_normalized_images/imagePath"
},
{
"name": "location_metadata",
"source": "/document/normalized_images/*/new_normalized_images/location_metadata"
},
{
"name": "document_title",
"source": "/document/document_title"
}
]
}
],
"parameters": {
"projectionMode": "skipIndexingParentDocuments"
}
},
"knowledgeStore": {
"storageConnectionString": "{{storageConnection}}",
"identity": null,
"projections": [
{
"files": [
{
"storageContainer": "{{imageProjectionContainer}}",
"source": "/document/normalized_images/*"
}
]
}
]
}
}
Este conjunto de habilidades extrae texto e imágenes, vectoriza ambos y estructura los metadatos de imagen para su proyección en el índice.
Puntos clave:
El campo
content_textse rellena con texto extraído mediante la aptitud Extracción de documentos y fragmentado mediante la aptitud dividircontent_pathcontiene la ruta de acceso relativa al archivo de imagen dentro del contenedor de proyección de imágenes designada. Este campo solo se genera para las imágenes extraídas de archivos PDF cuandoimageActionse establece engenerateNormalizedImages, y se puede asignar desde el documento enriquecido desde el campo de origen/document/normalized_images/*/imagePath.La aptitud de inserción bidireccional de Azure Vision permite insertar datos textuales y visuales mediante el mismo tipo de aptitud, diferenciado por entrada (texto frente a imagen). Para más información, consulte Habilidad de incrustaciones multimodales de Azure Vision.
Creación y ejecución de un indexador
Crear indexador crea un indexador en el servicio de búsqueda. Un indexador se conecta al origen de datos, carga datos, ejecuta un conjunto de aptitudes e indexa los datos enriquecidos.
### Create and run an indexer
POST {{searchUrl}}/indexers?api-version=2025-11-01-preview HTTP/1.1
Content-Type: application/json
api-key: {{searchApiKey}}
{
"name": "doc-extraction-multimodal-embedding-indexer",
"dataSourceName": "doc-extraction-multimodal-embedding-ds",
"targetIndexName": "doc-extraction-multimodal-embedding-index",
"skillsetName": "doc-extraction-multimodal-embedding-skillset",
"parameters": {
"maxFailedItems": -1,
"maxFailedItemsPerBatch": 0,
"batchSize": 1,
"configuration": {
"allowSkillsetToReadFileData": true
}
},
"fieldMappings": [
{
"sourceFieldName": "metadata_storage_name",
"targetFieldName": "document_title"
}
],
"outputFieldMappings": []
}
Realizar consultas
Puede empezar a realizar búsquedas en cuanto se cargue el primer documento.
### Query the index
POST {{searchUrl}}/indexes/doc-extraction-multimodal-embedding-index/docs/search?api-version=2025-11-01-preview HTTP/1.1
Content-Type: application/json
api-key: {{searchApiKey}}
{
"search": "*",
"count": true
}
Envíe la solicitud. Se trata de una consulta de búsqueda de texto completo no especificada que devuelve todos los campos marcados como recuperables en el índice, junto con un recuento de documentos. La respuesta debería tener este aspecto:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; odata.metadata=minimal; odata.streaming=true; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/10.0
Strict-Transport-Security: max-age=2592000, max-age=15724800; includeSubDomains
Preference-Applied: odata.include-annotations="*"
OData-Version: 4.0
request-id: 712ca003-9493-40f8-a15e-cf719734a805
elapsed-time: 198
Date: Wed, 30 Apr 2025 23:20:53 GMT
Connection: close
{
"@odata.count": 100,
"@search.nextPageParameters": {
"search": "*",
"count": true,
"skip": 50
},
"value": [
],
"@odata.nextLink": "https://<YOUR-SEARCH-SERVICE-NAME>.search.windows.net/indexes/doc-extraction-multimodal-embedding-index/docs/search?api-version=2025-11-01-preview "
}
Se devuelven 100 documentos en la respuesta.
En el caso de los filtros, también es posible usar operadores lógicos (and, or y not) y operadores de comparación (eq, ne, gt, lt, ge y le). La comparación de cadenas distingue mayúsculas de minúsculas. Para obtener más información y ejemplos, vea Ejemplos de consultas de búsqueda sencillas.
Note
El $filter parámetro solo funciona en campos marcados como filtrables durante la creación del índice.
### Query for only images
POST {{searchUrl}}/indexes/doc-extraction-multimodal-embedding-index/docs/search?api-version=2025-11-01-preview HTTP/1.1
Content-Type: application/json
api-key: {{searchApiKey}}
{
"search": "*",
"count": true,
"filter": "image_document_id ne null"
}
### Query for text or images with content related to energy, returning the id, parent document, and text (only populated for text chunks), and the content path where the image is saved in the knowledge store (only populated for images)
POST {{searchUrl}}/indexes/doc-extraction-multimodal-embedding-index/docs/search?api-version=2025-11-01-preview HTTP/1.1
Content-Type: application/json
api-key: {{searchApiKey}}
{
"search": "energy",
"count": true,
"select": "content_id, document_title, content_text, content_path"
}
Restablecer y volver a ejecutar
Los indizadores se pueden restablecer para borrar el umbral máximo, lo que permite una ejecución completa desde el principio. Las siguientes solicitudes POST son para el restablecimiento, seguido de la repetición de la ejecución.
### Reset the indexer
POST {{searchUrl}}/indexers/doc-extraction-multimodal-embedding-indexer/reset?api-version=2025-11-01-preview HTTP/1.1
api-key: {{searchApiKey}}
### Run the indexer
POST {{searchUrl}}/indexers/doc-extraction-multimodal-embedding-indexer/run?api-version=2025-11-01-preview HTTP/1.1
api-key: {{searchApiKey}}
### Check indexer status
GET {{searchUrl}}/indexers/doc-extraction-multimodal-embedding-indexer/status?api-version=2025-11-01-preview HTTP/1.1
api-key: {{searchApiKey}}
Limpieza de recursos
Cuando trabajes con tu propia suscripción, al final de un proyecto, es recomendable eliminar los recursos que ya no necesites. Los recursos que se dejan en ejecución pueden costarle mucho dinero. Puede eliminar recursos individualmente o eliminar el grupo de recursos para eliminar todo el conjunto de recursos.
Puede utilizar Azure Portal para eliminar índices, indexadores y fuentes de datos.
Consulte también
Ahora que está familiarizado con una implementación de ejemplo de un escenario de indexación multimodal, consulte: