Find moments from a natural-language request
Use intelligent search when the user knows the goal but the application should not have to select indexes or retrieval methods.Search by meaning
Use semantic search when the application should control which semantic indexes are searched.Filter search results
Filters are supported by default-modesearch(), semantic_search(), query(), and aggregate(). A top-level list combines conditions with AND.
Filter operators
See How index and field targeting works for selector and filter scoping examples.
Find every exact match
Use query for deterministic filtering and sorting on one index. This works well for review queues, inventories, dataset preparation, and compliance workflows.Turn indexed signals into analytics
Use aggregation for counts, groups, and facets rather than moment playback.response["results"], so playback methods do not apply to them. Read optional migration information with response.get("warnings", []).
Investigate and refine
Use DeepSearch for questions that benefit from multiple retrieval steps or follow-up requests.Answer with supporting moments
Use Ask when the application should present a synthesized answer. Request sources when users should be able to inspect the supporting video moments.Inspect a result
Moment-returning methods provideShot objects. A shot identifies where the result came from and where it occurs in the video.
return_fields when the interface should also show stored index evidence:
Play one matching moment
Callplay() to open an individual shot in the VideoDB player:
generate_stream() when the application needs the playable HLS URL:
generate_stream() returns an existing stream URL when one is already available and generates one otherwise.
Compile several results
Direct semantic search and query return aSearchResult. Compile all of its shots into one stream:
SearchResponse. Compile the nested SearchResult when the response contains shots:
Embed a result
Generate an iframe for an individual moment:Build common search experiences
Video and collection scope
Usevideo.* when the search should stay inside one known video. Use collection.* when a result may come from any indexed video in the collection.
Next steps
Intelligent Search
Learn when to use Search, DeepSearch, and Ask.
Results and Evidence
Explore Shot fields, returned index data, and stream generation in detail.