Skip to main content

RAG Index Maintenance

Index maintenance, incremental sync, knowledge freshness management, and monitoring for the RAG system.

Knowledge Freshness

Update Cadence

Content TypeUpdate TriggerMax Staleness
Menu itemsOn change5 minutes
PricingOn changeImmediate
FAQsWeekly review7 days
RunbooksOn change1 day
AnalyticsDaily refresh24 hours

Incremental Sync

async function incrementalSync(indexName: string, since: Date) {
// Get changed documents
const changes = await getChangedDocs(indexName, since);

for (const doc of changes) {
if (doc.deleted) {
await index.deleteByIds([doc.id]);
} else {
const chunks = await processDocument(doc);
const embeddings = await embedChunks(chunks);
await index.upsert(embeddings);
}
}

// Update sync timestamp
await setSyncTimestamp(indexName, new Date());
}

Monitoring & Observability

Key Metrics

MetricTargetAlert Threshold
Query latency p50Under 50msOver 100ms
Query latency p99Under 200msOver 500ms
Result quality scoreOver 0.75Under 0.6
Index freshnessUnder 1 hourOver 24 hours
Vector countUnder 5MOver 4.5M

Logging

// Log every RAG query for analysis
logger.info('rag_query', {
query: sanitize(query),
agentType,
topK,
resultCount: results.length,
topScore: results[0]?.score,
latencyMs: Date.now() - startTime,
tenantId
});

  • Indexing - How documents are indexed
  • Querying - Query patterns and retrieval strategies
  • Overview - RAG Knowledge Base overview