Agregar revisión ortográfica a las consultas en Búsqueda de Azure AI (versión preliminar)

Nota

Búsqueda de Azure AI está disponible a través del portal de Azure, las API REST y los SDK de Azure. También respalda Foundry IQ, la capa de conocimiento administrada que transforma el contenido empresarial en bases de conocimiento reutilizables y compatibles con permisos para agentes en el portal de Microsoft Foundry.

Importante

Las características, funcionalidades o propiedades marcadas (versión preliminar) no están cubiertas por un contrato de nivel de servicio, no se recomiendan para cargas de trabajo de producción y pueden cambiar o restringirse antes de que estén disponibles con carácter general. Los términos de la versión preliminar Búsqueda de Azure AI se aplican a todas las funciones de vista previa, ya sea independiente o parte de una característica disponible con carácter general.

Puede mejorar la recuperación mediante la corrección ortográfica de palabras en una consulta antes de que lleguen al motor de búsqueda. El speller parámetro (versión preliminar) es compatible con todos los tipos de consulta de texto (no vector) y está disponible a través del portal de Azure, las API REST en versión preliminar y las versiones beta de las bibliotecas de SDK de Azure.

Requisitos previos

  • Un servicio de búsqueda en el nivel Básico o superior, en cualquier región.

  • Índice de búsqueda existente con contenido en un idioma admitido.

  • Una solicitud de consulta que tiene speller=lexicon y queryLanguage establecidos en un idioma admitido. El corrector ortográfico funciona con las cadenas que se pasan en el parámetro de search. No se admite para filtros, búsqueda aproximada, búsqueda con caracteres comodín, expresiones regulares o consultas vectoriales.

Use un cliente de búsqueda que admita api en versión preliminar en la solicitud de consulta. Puede usar un cliente REST o versiones beta del SDK de Azure.

Biblioteca de cliente Versiones
REST API Versiones 2020-06-30-Vista previa y posteriores. Se recomienda la API de versión preliminar más reciente: 2026-08-01-preview
SDK de Azure para .NET versión 11.7.0-beta.4
SDK de Azure para Java versión 11.8.0-beta.7
SDK de Azure para JavaScript versión 11.3.0-beta.8
SDK de Azure para Python versión 11.6.0b12

En el ejemplo siguiente se usa el índice hotels-sample para mostrar la corrección ortográfica en una consulta de texto simple. Sin corrección ortográfica, la consulta devuelve cero resultados. Con la corrección, la consulta devuelve un resultado para el resort orientado a familias de Johnson.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "famly acitvites",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "queryType": "simple",
    "select": "HotelId,HotelName,Description,Category,Tags",
    "count": true
}

Corrección ortográfica con sintaxis de Lucene completa

La corrección ortográfica se produce en términos de consulta individuales que se someten a análisis de texto, por lo que puede usar el parámetro ortográfico con algunas consultas de Lucene, pero no otras.

  • Los formularios de consulta incompatibles que omiten el análisis de texto incluyen: caracteres comodín, expresiones regulares, coincidencias parciales.
  • Los formularios de consulta compatibles incluyen: búsqueda por campos, proximidad, aumento de términos

En este ejemplo se usa la búsqueda por campos en el campo Categoría, con sintaxis completa de Lucene y un término de consulta mal escrito. Al incluir el corrector ortográfico, se corrige el error tipográfico en "Suiite" y la consulta tiene éxito.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "Category:(Resort and Spa) OR Category:Suiite",
    "queryType": "full",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "select": "Category",
    "count": true
}

Corrección ortográfica con clasificación semántica

Esta consulta, con errores tipográficos en cada término excepto uno, se somete a correcciones ortográficas para devolver los resultados pertinentes. Para más información, consulte Configuración del clasificador semántico.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "hisotoric hotell wiht great restrant nad wiifi",
    "queryType": "semantic",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "searchFields": "HotelName,Tags,Description",
    "select": "HotelId,HotelName,Description,Category,Tags",
    "count": true
}

Idiomas admitidos

Los valores válidos para queryLanguage se pueden encontrar en la tabla siguiente, copiados de la lista de idiomas admitidos (referencia de la API REST).

Idioma lenguaje de consulta
Inglés [EN] EN, EN-US (valor predeterminado)
Español [ES] ES, ES-ES (valor predeterminado)
Francés [FR] FR, FR-FR (valor predeterminado)
Alemán [DE] DE, DE-DE (valor predeterminado)
Neerlandés [NL] NL, NL-BE, NL-NL (valor predeterminado)

Nota

Anteriormente, mientras que el clasificador semántico estaba en versión preliminar, el queryLanguage parámetro también se usaba para la clasificación semántica. El clasificador semántico ahora es independiente del lenguaje.

Consideraciones sobre el analizador de lenguaje

Los índices que contienen contenido que no es inglés suelen usar analizadores de idioma en campos que no son en inglés para aplicar las reglas lingüísticas del idioma nativo.

Al agregar revisión ortográfica al contenido que también se somete a análisis de idioma, puede lograr mejores resultados con el mismo idioma para cada paso de indexación y procesamiento de consultas. Por ejemplo, si el contenido de un campo se indizó mediante el analizador de lenguaje "fr.microsoft", las consultas y la revisión ortográfica deben usar un léxico francés o una biblioteca de idiomas de algún tipo.

Para resumir cómo se usan las bibliotecas de lenguaje en Búsqueda de Azure AI:

  • Los analizadores de lenguaje se pueden invocar durante la indexación y la ejecución de consultas, y son Apache Lucene (por ejemplo, "de.lucene") o Microsoft ("de.microsoft).

  • Los léxicos de idioma invocados durante la revisión ortográfica se especifican mediante uno de los códigos de idioma de la tabla de idioma admitida .

En una solicitud de consulta, el valor asignado a queryLanguage se aplica a speller.

Nota

La coherencia del lenguaje en varios valores de propiedad solo es un problema si usa analizadores de lenguaje. Si usas analizadores independientes del idioma (como keyword, simple, standard, stop, whitespace o standardasciifolding.lucene), el valor de queryLanguage puede ser el que quieras.

Aunque el contenido de un índice de búsqueda se puede componer en varios idiomas, la entrada de consulta es más probable en uno. El motor de búsqueda no comprueba la compatibilidad de queryLanguage, el analizador de idioma y el idioma en el que se compone el contenido, por lo que asegúrese de definir el ámbito de las consultas en consecuencia para evitar generar resultados incorrectos.

Pasos siguientes