Search observations by semantic similarity. Find moments that match a description like "lunch rush at fast casual restaurants" using vector embeddings.
Uses 768-dimensional Gemini embeddings on observation payloads to find
promoted observations matching a natural language query via pgvector
cosine similarity search.
WHEN TO USE:
- Finding observations that match a conceptual description
- Discovering contextual moments across the screen network
- Searching for audience situations ("families waiting in line", "professionals on coffee break")
- Finding commerce patterns ("high purchase intent near checkout")
RETURNS:
- data: Array of matching observations ranked by semantic similarity, each with:
- observation_id, device_id, venue_type, observation_family
- observed_at, payload, confidence, evidence_grade
- similarity: Cosine similarity score (0-1, higher = more relevant)
- metadata: { result_count, query_embedding_model, search_scope }
- suggested_next_queries: Related semantic queries to explore
EXAMPLE:
User: "Find lunch rush moments at fast casual restaurants"
semantic_search_observations({
query: "lunch rush at fast casual restaurants with high foot traffic",
filters: { venue_type: ["restaurant_qsr"] },
limit: 20
})
User: "Find moments with high emotional engagement"
semantic_search_observations({
query: "audience showing strong positive emotional reactions",
filters: { observation_family: ["audience"] },
limit: 10
})