Semantic Search Setup

Last updated:

Enable semantic reranking on a collection to improve search quality for conceptual and natural language queries.

How It Works

When you enable semantic search on a collection:

  1. During indexing, each document's searchable text is sent to Amazon Bedrock Titan Embed V2
  2. The resulting 1024-dimension vectors are stored alongside the lexical index
  3. Embeddings are cached per document — unchanged documents skip re-embedding on re-index
  4. At search time, the query is embedded and cosine similarity is computed against candidates

Enable via Dashboard

  1. Go to your project's Collections page
  2. Click "New Collection"
  3. Define your searchable fields and weights
  4. Toggle "Semantic Reranking" on
  5. Create the collection and upload documents

The collection detail page will show a purple "Semantic" badge when active.

Enable via SDK

const { collection } = await admin.createCollection(projectId, 'Products', {
  keys: [
    { name: 'title', weight: 3 },
    { name: 'description', weight: 1 }
  ],
  semantic: { enabled: true }
})

Embedding Provider

PropertyValue
ModelAmazon Titan Embed Text V2
Dimensions1024
Cost$0.02 per 1M tokens (~$0.50 for 25K searches/mo)
Latency~10ms per query embedding
API key needed?No — uses AWS IAM (managed by Lumo Cloud)

Embedding Cache

Lumo Cloud caches embeddings per document. When you re-upload documents, only new or changed documents are re-embedded. The cache key is based on the document text content, provider ID, and dimensions — so changing the provider automatically invalidates the cache.

Graceful Fallback

If the embedding provider is temporarily unavailable, search falls back to pure lexical scoring. The API response will show meta.semanticReranking: false. Your search never fails — it just loses the semantic boost until the provider recovers.

Email Notifications

Collections with semantic search enabled always trigger an email notification when indexing completes. You'll receive an email from noreply@lumosearch.com with the indexing result (success or failure), document count, and a direct link to the collection in your dashboard.

Limitations

  • Semantic mode must be set at collection creation — it cannot be toggled on an existing collection
  • Embedding adds ~2-5 seconds to indexing time per 1K documents
  • Index snapshots are larger with embeddings (1024 floats per document)
  • Autocomplete uses lexical matching only — semantic reranking applies to full search queries