Indexar archivos y blobs de texto sin formato en Búsqueda de Azure AI
Se aplica a: Indexadores de blobs Indexadores de archivos
Si usa un indexador para extraer texto de blobs que permite búsquedas o contenido de archivo para la búsqueda de texto completo, se puede asignar un modo de análisis para obtener mejores resultados de indexación. De forma predeterminada, el indexador analiza la propiedad content
de un blob como un único fragmento de texto. Sin embargo, si todos los blobs y archivos contienen texto sin formato con la misma codificación, el rendimiento de la indexación se puede mejorar notablemente mediante el uso del modo de análisis text
.
Las recomendaciones para el análisis de text
incluyen cualquiera de las siguientes características:
- El tipo de archivo es
.txt
- Los archivos son de cualquier tipo, pero el propio contenido es texto (por ejemplo, código fuente del programa, HTML, XML, etc.). En el caso de los archivos en un lenguaje de marcado, los caracteres de sintaxis pasan como texto estático.
Recuerde que todos los indexadores se serializan en JSON. De forma predeterminada, el contenido del archivo de texto completo se indexa dentro de un campo grande como "content": "<file-contents>"
. Las nuevas líneas y las instrucciones devueltas se insertan en el campo de contenido y se expresan como \r\n\
.
Si desea un resultado más refinado o pormenorizado y si el tipo de archivo es compatible, tenga en cuenta las siguientes soluciones:
- Modo de análisis
delimitedText
, si el origen es CSV jsonArray
ojsonLines
, si el origen es JSON
Una tercera opción alternativa para dividir el contenido en varias partes requiere características avanzadas en forma de Enriquecimiento con IA. Agrega análisis que identifica y asigna fragmentos del archivo a distintos campos de búsqueda. Es posible que encuentre una solución completa o parcial a través de aptitudes integradas como el reconocimiento de entidades o la extracción de palabras clave, pero una solución más factible podría ser un modelo de aprendizaje personalizado que entienda el contenido, encapsulado en una aptitud personalizada.
Configuración de la indexación del texto sin formato
Para indexar blobs de texto sin formato, cree o actualice una definición de indexador con la propiedad de configuración parsingMode
a text
en una solicitud Crear indexador:
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2024-07-01
Content-Type: application/json
api-key: [admin key]
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text" } }
}
De forma predeterminada, se da por hecha la codificación UTF-8
. Para especificar otra, use la propiedad de configuración encoding
. La lista de codificaciones admitidas se encuentra en la columna .NET 5 y versiones posteriores.
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "iso-8859-1" } }
}
Ejemplo de solicitud
Los modos de análisis se especifican en la definición del indexador.
POST https://[service name].search.windows.net/indexers?api-version=2024-07-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "my-plaintext-indexer",
"dataSourceName" : "my-blob-datasource",
"targetIndexName" : "my-target-index",
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
}