Reaching the search scope limit for content search in the Web Interface

Applies to: VisualSVN Server 5.0 and later

Symptom

When performing a full-text Content search in the web interface, the following warning is displayed:

Search scope is too wide, results may be incomplete.

Cause

The search scope is the location where you want to search. The "Search scope is too wide, results may be incomplete" warning means that for the current query the search has ended, but not all the files and folders within the current search scope have been searched, because the search scope contains too many files and folders.

When your current search scope is too wide, the search will stop after it has searched the maximum number of filesystem items (files and folders) that it is able to traverse and process for one query. Currently this limit is 500,000 filesystem items.

Note
By default, the search scope (the searched location) is the location that you currently have opened in the web interface, unless you have manually widened this search scope by using the drop-down Scope menu in the top right (see Changing the search scope). Content search attempts to recursively search all the subfolders within the current search scope, until it hits the above-mentioned limit.

Resolution

Try narrowing down the search scope (the location that is searched), until your search results no longer display the "search scope is too wide" message. This will ensure that the search results are conclusive.

For example (assuming that you use the most common trunk, branches, tags folder structure for your repository), instead of searching all of the repository (the repository's root folder), try searching in just the repository's trunk folder or in the folder of a specific branch or tag.

Technical background

The full-text ัontent search is designed to recursively traverse the current search scope in a way that checks and observes any granular user access permissions that may be set on files and folders. The purpose of this is for the search results to display matches only from the files and folders to which the searching user has at least read-level access.

At the same time, the search is designed to work even in extremely large repositories, and VisualSVN Server does not impose any limits on the size of repositories that it can index. However, the above-mentioned limit (of 500,000 files and folders) is set for this traversal of the current search scope. For comparison, the entire source tree of the Linux kernel has fewer than 100,000 files in total.

When you perform a content search in a repository, the search either stops when it has processed all the files and folders within the current search scope, or when it reaches the scope limit, whichever occurs first.

Search results when the search scope was too wide

If the search has stopped prematurely due to the search scope limit, then the search results may be incomplete and thus inconclusive, because they include only the matches that had been found up until the point when the search stopped due to the scope limit. That is to say, the warning about incomplete search results means that:

  • If no results at all have been found for your query, matches might actually exist within the current search scope, however the search had stopped before they could be found.
  • If any matches have been found, then not all the existing matches within the current search scope may have been found.
Note
Content search has one more limitation: it displays only up to 1000 results. However, this limitation is not related to the warning described in this article.

See also

KB211: Searching in VisualSVN Server Web Interface

Last Modified: