Crear un alias de índice en Azure AI Search

Importante

Los alias de índice se encuentran actualmente en versión preliminar pública y están disponibles en las condiciones de uso complementarias.

En Azure AI Search, un alias de índice es un nombre secundario que se puede usar para hacer referencia a un índice para realizar consultas, indexaciones y otras operaciones. Puede crear un alias que se asigne a un índice de búsqueda y sustituir el nombre del alias en los lugares donde, de lo contrario, haría referencia a un nombre de índice. Un alias añade flexibilidad si necesita cambiar el índice al que apunta la aplicación. En lugar de actualizar las referencias en su aplicación, solo tiene que actualizar la asignación del alias.

El objetivo principal de los alias de índice es facilitar la administración de los índices de producción. Por ejemplo, si necesita realizar un cambio en la definición del índice, como editar un campo o agregar un nuevo analizador, tendrá que crear un nuevo índice de búsqueda ya que todos los índices de búsqueda son inmutables. Esto significa que tiene que eliminar y volver a generar el índice, o crear un nuevo índice y, a continuación, migrar la aplicación a ese índice.

En lugar de eliminar y volver a generar el índice, puede usar un alias de índice. Un flujo de trabajo típico sería:

  1. Creación del índice de búsqueda
  2. Creación de un alias que se asigna al índice de búsqueda
  3. Pida a la aplicación que envíe solicitudes de consulta o indexación al alias en lugar de al nombre del índice.
  4. Cuando necesite realizar un cambio en el índice que requiera volver a crearlo, cree un nuevo índice de búsqueda.
  5. Si el nuevo índice está listo para usarse, actualice el alias para asignarlo al nuevo índice y las solicitudes se enrutarán automáticamente al nuevo índice.

Creación de un alias de índice

Puede crear un alias mediante la API de REST de la versión preliminar, los SDK de la versión preliminar o a través del Azure Portal. Un alias consta del name del alias y el nombre del índice de búsqueda al que está asignado el alias. Solo se puede especificar un nombre de índice en la matriz indexes.

Puede usar la opción Crear o actualizar alias (versión preliminar de REST) para crear un alias de índice.

POST /aliases?api-version=2023-10-01-preview
{
    "name": "my-alias",
    "indexes": ["hotel-samples-index"]
}

Envío de solicitudes a un alias de índice

Una vez que haya creado el alias, tendrá todo listo para empezar a usarlo. Los alias se pueden usar para todas las operaciones de documento, incluidas las consultas, la indexación, las sugerencias y la función de autocompletar.

En la consulta siguiente, en lugar de enviar la solicitud a hotel-samples-index, puede enviarla a my-alias y se enrutará como corresponde.

POST /indexes/my-alias/docs/search?api-version=2023-10-01-preview
{
    "search": "pool spa +airport",
    "searchMode": any,
    "queryType": "simple",
    "select": "HotelId, HotelName, Category, Description",
    "count": true
}

Si esperas realizar actualizaciones en un índice de producción, especifica un alias en lugar del nombre de índice en la aplicación del lado cliente. Los escenarios que requieren recompilar índices se describen en Quitar y recompilar un índice.

Nota:

Solo puede usar un alias con operaciones de documento o para obtener y actualizar una definición de índice. Los alias no se pueden usar para eliminar un índice, no se pueden usar con la API de análisis de texto y no se pueden usar como el targetIndexName en un indexador.

Una actualización de un alias puede tardar hasta 10 segundos en propagarse por el sistema, por lo que debe esperar al menos 10 segundos antes de realizar cualquier operación en el índice al que se le asignó anteriormente al alias.

Intercambio de índices

Ahora, siempre que necesite actualizar la aplicación para que apunte a un nuevo índice, lo único que tiene que hacer es actualizar la asignación en el alias. La operación PUT es necesaria para las actualizaciones, como se indica en Crear o actualizar alias (versión preliminar de REST).

PUT /aliases/my-alias?api-version=2023-10-01-preview
{
    "name": "my-alias",
    "indexes": ["hotel-samples-index2"]
}

Después de realizar la actualización del alias, las solicitudes comenzarán a enrutarse automáticamente al nuevo índice.

Nota:

Una actualización de un alias puede tardar hasta 10 segundos en propagarse por el sistema, por lo que debe esperar al menos 10 segundos antes de eliminar el índice al que se asignó anteriormente el alias.

Consulte también