Retrieves specific vectors from the index by their IDs. This method allows efficient retrieval of vectors and their metadata without performing similarity search.
func (e *EncryptedIndex) Get(ctx context.Context, ids []string, include []string) (*GetResponse, error)

Parameters

ParameterTypeDescription
ctxcontext.ContextContext for cancellation and timeouts
ids[]stringSlice of vector IDs to retrieve
include[]stringFields to include in response: “vector”, “metadata”, “contents”

Returns

  • *GetResponse: Retrieved vectors with requested fields
  • error: Any error encountered, including IDs not found

Error Handling

Example Usage

package main

import (
    "context"
    "fmt"
    "log"

    "github.com/cyborginc/cyborgdb-go"
)

func main() {
    client, err := cyborgdb.NewClient(cyborgdb.ClientConfig{
        BaseURL: "http://localhost:8000",
        APIKey:  "your-api-key",
    })
    if err != nil {
        log.Fatal(err)
    }

    // Load an existing index
    indexKey := "your-64-character-hex-key"
    index, err := client.LoadIndex(context.Background(), cyborgdb.LoadIndexParams{
        IndexName: "my-vector-index",
        IndexKey:  indexKey,
    })
    if err != nil {
        log.Fatal(err)
    }

    // Retrieve specific vectors by ID
    ids := []string{"doc1", "doc2", "doc3"}
    include := []string{"vector", "metadata"}
    
    results, err := index.Get(context.Background(), ids, include)
    if err != nil {
        log.Fatalf("Get failed: %v", err)
    }

    fmt.Printf("Retrieved %d vectors:\n", len(results.Results))
    for i, result := range results.Results {
        fmt.Printf("%d. ID: %s\n", i+1, result.Id)
        
        if result.Metadata != nil {
            fmt.Printf("   Metadata: %v\n", result.Metadata)
        }
        
        if result.Vector != nil {
            fmt.Printf("   Vector dimensions: %d\n", len(result.Vector))
            fmt.Printf("   Vector preview: [%.3f, %.3f, ...]\n", 
                result.Vector[0], result.Vector[1])
        }
    }
}

Response Item Fields

FieldTypeDescription
IdstringVector identifier (always included)
Vector[]float32Vector data (if included)
ContentsstringVector contents (if included)
Metadatamap[string]interface{}Vector metadata (if included)