Skip to content

Video text search

Video text search is the built-in Text mode on the Videos page. Permissions and active filters define the candidate videos before the text query is applied.

Videos page with the video text-search field beside the Date sort control
This page describes the Videos-page search field. Entering its first query makes Relevance available and, by default, selects it in the adjacent sort control.

The tables below describe this built-in Text query. Other video search paths compares global, visual, compilation-inclusive, and metadata-provider searches.

Cove indexes the following video values. For each query term, only the strongest matching row contributes video-text points. Repeating the word in a description or caption does not increase its score.

Video values Points per matching term
Title and studio code 8
Description and director 2
Captions, combined source-file paths, and the internal SearchText compatibility field 1

SearchText is an internal database field. Cove includes an existing value in search, but does not currently populate the field or expose it through the video create and edit APIs.

Related values contribute additional points even when the title or description also matches. An exact related name or alias is stronger evidence than a description mention.

Relationship Values searched How each query term matches
Studio Name Case-insensitive substring
Performers Name and aliases Case-insensitive substring
Tags Name and aliases Complete word, without regard to case; punctuation separates words
Galleries Title Case-insensitive substring
Groups Name Case-insensitive substring

Studio and group aliases are not searched. Tag matching prevents a query such as 1F from also matching 1F1M. Only related entities the current user can read contribute matches or points.

Cove removes whitespace from the beginning and end of the query and compares text without regard to letter case. It treats each sequence of letters or digits as a term. Spaces, underscores, hyphens, periods, plus signs, slashes, and other punctuation separate terms. Repeated terms count once.

Every distinct query term must match, but different terms can come from different sources:

  1. Indexed video text: A term begins a word in any indexed video value. For example, small ho can match words beginning with small and ho. Different terms can occur in different fields or in different indexed source paths.
  2. Studio: A term occurs within the studio name.
  3. Performer: A term occurs within an assigned performer’s name or alias.
  4. Tag: A term matches a complete word in an applied tag’s name or alias.
  5. Gallery: A term occurs within the title of a gallery containing the video.
  6. Group: A term occurs within the name of a group containing the video.

A query can therefore combine title words with multiple tags and a performer name. It does not need to match one complete field or relationship.

There is also a file-path fallback: a video matches when every distinct query term occurs somewhere in the same directly attached file path. This includes partial path text that the word index might miss. A sub-video inherits its parent’s indexed path text, but does not use this fallback because its files belong to the parent video.

If the input contains no letters or digits, text search does not narrow the candidate set.

Not searched directly Use instead
URLs URL filter
Remote IDs Remote ID or Remote ID Count filter
Dates Date, Created At, or Updated At filter
Ratings and engagement Rating, Likes, Play Count, Resume Time, Play Duration, or Last Played filter
Custom fields The filter generated for the configured custom field
Codecs, resolution, bitrate, and other technical file values The corresponding file or media filter

Relevance is available only while the search field contains a query. Starting a query adds Relevance and, by default, selects it. Clearing the query removes it from the sort options.

Settings → Interface → Sort searches by relevance controls that selection for the whole library. Turn it off to keep the list’s current sort when a query starts; Relevance can still be chosen from the sort control. Relevance scores every matching video before it can show the first page, so on a very large library a broad search is much faster in another order, such as Title or Updated At; see Sort order and search speed. The setting reaches users who can read system settings; other users keep the default.

Use Relevance for broad searches. Matching and ordering are separate. With any other sort, match quality has no effect on position, so exact or otherwise strong matches can appear anywhere in the result set, including on a later page.

Active primary sort Effect of match quality
Relevance Uses the additive score below to bring stronger matches forward.
Any other sort Ignores match quality and orders every match only by the selected field and direction.

Cove adds the following points and places the highest-scoring videos first:

Evidence Points
Title equals the complete trimmed query, without regard to case 100
Title or studio code contains the complete query, or the complete title occurs as a space-delimited phrase in the query 40
Description or director contains the complete trimmed query as a contiguous phrase 4
Query term belongs to a related name or alias whose complete wording occurs in the query 20 per distinct term
Query term partially matches a related name or alias, with no exact related match for that term 8 per distinct term
Indexed video-text match 8, 2, or 1 per distinct term, as listed above

The title bonuses can both apply. Exact related matches recognize multiword names and aliases; punctuation separates their words. Each term receives at most one relationship contribution and one indexed-text contribution. Extra aliases, overlapping tags, or repeated text do not multiply those contributions. A file-path fallback match receives no separate bonus.

For example, two videos with the same title and the same first tag receive the same points for that evidence. If a second search term matches another tag on one video but only its description on the other, the video with the second tag ranks higher. Descriptions are searched literally: a phrase denying an occurrence still text-matches, but contributes fewer points than a confirmed tag.

Equal scores are ordered by newest update, then lowest video ID. Search does not silently become a tag filter: untagged videos can still match through their text. Use the Tags filter when a tag is required.

Videos-page action Sort result
Search field is empty Do not offer Relevance as a sort option.
Start a query while the search field is empty Add Relevance. With Sort searches by relevance on (the default), select it and remember the previous sort; with it off, keep the current sort.
Edit an existing query Keep the current sort.
Choose another primary sort Keep the matching set and order it by the selected sort.
Clear a query while Relevance is active Remove Relevance and restore the remembered pre-query sort. If the current page did not start the query, such as for a direct link, use Updated At descending.
Open a saved or linked query with another explicit sort Use that explicit sort.

On small and medium libraries every sort returns search results quickly. On a very large library, the sort decides how much work the first page takes, and the best choice depends on how many videos the query matches:

  • Broad queries, which match a large share of the library, are fastest in Updated At, Title, or Created At order. Cove reads videos in that order and stops once it has a page of matches. Date and Relevance must collect and order every match before showing the first page.
  • Narrow queries, which match a few hundred videos, are fastest in Relevance or Date order, because there are few matches to order. In Title, Created At, or Updated At order, Cove can read through a large part of the library before it finds a page of matches.

The following times were measured for the first page of 40 videos on a library of about two million videos. Times depend on the server and the library, so treat them as a comparison between sorts rather than as expected values.

Query Updated At Title Created At Date Relevance
Broad, matching a large share of the library 0.6 s 2 s 2 s 7 s 17 s
Narrow, matching a few hundred videos 6 s 3 s 6 s 0.5 s 0.5 s

The Videos page counts matches separately from loading the page, so the total and the duration and size summary can appear a few seconds after the results. Other sorts were not measured.

Search path Video values and behavior
Search all… Requires at least two characters. Video candidates use indexed video text and do not expand through related studios, performers, tags, galleries, or groups. Results prioritize exact titles, indexed-text rank, newest update, then lowest ID.
Include Compilations In a compatible paged Grid or List view, video rows use indexed video text without related-value expansion. Compilation rows search name, aliases, synopsis, director, and their internal SearchText field. The combined result does not use normal video relevance ranking.
Visual mode Uses the configured visual-similarity provider and Visual Match sort. The text rules on this page do not apply.
Metadata-provider search Searches the selected remote metadata source while scraping; it does not search the local Videos list.

See Search and filters for the user workflow and Videos reference for the rest of the Videos page.