Create indexes and query vectors

This page describes how to use stored embeddings to generate indexes and query embeddings using ScaNN, IVF, IVFFlat, and HNSW indexes with AlloyDB for PostgreSQL. For more information about storing embedding, see Store vector embeddings.

Before you begin

Before you can start creating indexes, you must complete the following prerequisites.

  • Embedding vectors are added to a table in your AlloyDB database.

  • The vector extension version 0.5.0 or later that is based on pgvector, extended by Google for AlloyDB is installed.

    CREATE EXTENSION IF NOT EXISTS vector;
    
  • To generate ScaNN indexes, install the alloydb_scann extension in addition to the vector extension.

    CREATE EXTENSION IF NOT EXISTS alloydb_scann;
    

Create an index

You can create one of the following index types for tables in your database.

What's next