Ir a la consola

Administra índices en Cloud Firestore

Cloud Firestore garantiza un alto rendimiento, ya que usa índices en todas las consultas. Los índices necesarios para las consultas más básicas se crean automáticamente. A medida que usas y pruebas tu app, Cloud Firestore genera mensajes de error que te ayudan a crear los índices adicionales necesarios. En esta página, se describe cómo administrar los índices de campo único y compuestos.

Crea un índice faltante a través de un mensaje de error

Si intentas realizar una consulta compuesta con una cláusula de rango que no corresponda a un índice existente, recibirás un error. El mensaje de error incluye un vínculo directo para crear el índice que falta en Firebase console.

Usa el vínculo que se genera para ir a Firebase console, revisa la información que se propagó automáticamente y haz clic en Crear.

Usa Firebase console

Para crear un índice nuevo de forma manual desde Firebase console:

Imagen de la interfaz de indexación de Firestore en Firebase console

  1. Ve a la sección Base de datos de Firebase console.
  2. Ve a la pestaña Índices y haz clic en Agregar índice.
  3. Ingresa el nombre de la colección y establece los campos que quieres usar para ordenar el índice.
  4. Haz clic en Crear.

La creación de los índices puede tardar unos minutos, según el tamaño de la consulta. Después de crearlos, puedes ver tus índices y su estado en la sección Índices compuestos. Si el proceso de creación no está completo, Firebase console muestra una barra de estado de creación.

Quita índices

Para borrar un índice, haz lo siguiente:

  1. Ve a la sección Base de datos de Firebase console.
  2. Haz clic en la pestaña Índices.
  3. Desplaza el cursor sobre el índice que deseas borrar y selecciona Borrar en el menú contextual.
  4. Para confirmar que deseas borrarlo, haz clic en Borrar en la alerta.

Usa Firebase CLI

También puedes implementar índices con Firebase CLI. Para comenzar, ejecuta firebase init firestore en el directorio de tu proyecto. Durante la configuración, Firebase CLI genera un archivo JSON con los índices predeterminados en el formato correcto. Edita el archivo para agregar más índices y para implementarlo con el comando firebase deploy. Si solo deseas implementar índices, agrega la marca --only firestore:indexes. Si haces modificaciones en los índices con Firebase console, asegúrate de actualizar también tu archivo de índices local.

Tiempo de compilación de los índices

La creación de los índices puede tardar unos minutos y depende de la cantidad de datos que deban actualizarse. Mientras más documentos coincidan con los campos que se indexan, más tiempo tardará la creación de los índices. Además, para cada ID de colección único, solo puedes tener una compilación de índices en curso. Cuando se realizan varias compilaciones de índices con el mismo ID de colección, estas se completan de forma secuencial.

Errores en la compilación de los índices

Es posible que encuentres errores en la compilación de los índices cuando administres índices compuestos y exenciones de índices de campo único. Una operación de indexación puede fallar si Cloud Firestore encuentra un problema en los datos que se están indexando. Por lo general, esto quiere decir que alcanzaste el límite de índices. Por ejemplo, es posible que la operación haya alcanzado la cantidad máxima de entradas permitidas en un índice de un documento.

Si falla la creación de los índices, aparecerá un mensaje de error en la consola. Luego de verificar que no alcanzaste ningún límite de índices, reintenta la operación de índices.