External Clients & Services
Overview of external services Universal Search integrates with, why we use them, and where the client code lives.
AWS Services
| Service |
Purpose |
Client Location |
| Bedrock |
Text embeddings (Titan v2) and reranking (Cohere Rerank v3.5) |
crates/common/src/clients/bedrock_client.rs |
| OpenSearch |
Full-text search index, document storage and retrieval |
crates/common/src/clients/os_client.rs |
| DynamoDB |
Embedding cache and rate limiter state |
crates/common/src/clients/dynamo_db_client.rs |
| S3 |
Intermediate pipeline data (NDJSON), processed content storage |
crates/common/src/clients/s3_client.rs |
| SQS |
Asynchronous message queuing between pipeline stages |
crates/common/src/clients/sqs_client.rs |
| SNS |
Event notifications for pipeline state changes |
crates/common/src/clients/sns_client.rs |
| Secrets Manager |
API credentials, OpenSearch credentials, Unleash tokens |
crates/common/src/clients/secrets_manager.rs |
| Lambda |
Pipeline steps: embedding, bulk indexing, redrive |
crates/lambdas/src/bin/ |
Third-Party Services
| Service |
Purpose |
Client Location |
| Unleash |
Feature flags and experimentation |
crates/common/src/clients/unleash_client.rs |
| Datadog |
Distributed tracing, APM, metrics |
Middleware in crates/usearch, crates/ingestion, crates/lambdas |
| TEI Embedding API |
Alternative embedding generation (google/embedding-gemma-300m) |
crates/common/src/clients/embedding_client.rs |
| Tracking Service |
LLM trace and search analytics events |
crates/common/src/clients/tracking/tracking_client.rs |
Bedrock Models
| Model |
Use Case |
Dimensions |
amazon.titan-embed-text-v2:0 |
Text embeddings |
512 |
cohere.rerank-v3-5:0 |
Search result reranking |
— |
Bedrock is rate-limited at 4000 RPM (reserved from 6000 RPM quota) with circuit breaker and exponential backoff.
TEI Embedding API
HTTP-based embedding service using google/embedding-gemma-300m (512 dimensions). Configured with retry middleware (exponential backoff) and optional API-key authentication via Secrets Manager.
Key Environment Variables
| Variable |
Service |
Description |
OPENSEARCH_URL |
OpenSearch |
Cluster base URL |
OPENSEARCH_INDEX_BASENAME |
OpenSearch |
Index name prefix |
OPENSEARCH_CREDENTIALS_ARN |
OpenSearch |
Secrets Manager ARN for credentials |
S3_BUCKET_NAME |
S3 |
Target bucket |
OUTPUT_QUEUE_URL |
SQS |
Downstream processing queue |
SNS_OUTPUT_TOPIC_ARN |
SNS |
Output topic for notifications |
EMBEDDING_CACHE_TABLE_NAME |
DynamoDB |
Embedding cache table |
RATE_LIMITER_TABLE_NAME |
DynamoDB |
Rate limit state table |
UNLEASH_URL |
Unleash |
Feature toggle server |
UNLEASH_TOKEN_ARN |
Unleash |
Secrets Manager ARN for API token |
TRACKING_URL |
Tracking |
Analytics endpoint (optional) |