Full-Text Search
Search through the contents and history of your repositories —
in any folder, at any revision.
Overview
The full-text search feature allows finding files with the specified content.
With this feature, all revisions in the repositories can be indexed and searched through the web interface. Users can search for content, filename and log message matches in any folder they have access to, and the results are filtered according to the authorization settings.
The underlying search engine was created specifically for Subversion repositories. It offers high performance, continuous indexing of new revisions and has virtually no limits on the repository sizes.
Key capabilities of this feature are:
- Searching through the contents of all text files.
- Searching in any folder or any historical revision.
- Searching with complex expressions and querying metadata.
- Searching through the commit history.
- No limits on the repository sizes.
- Continuous indexing of new revisions.
Searching through the contents of all text files
Starting from VisualSVN Server 5.0, content of all text files can be indexed and searched through. There are almost no limits on the sizes of the files that may be indexed.
Searching in any folder or any historical revision
Because the search index includes both the content and change history of the repositories, it is possible to search in any location or revision.
More specifically:
-
Search is not limited to any particular branch or subfolder.
Instead, every location is searchable – whether it is the root of a multi-project repository,
/trunk
of a project, or a deeply hiddeninclude
directory. -
Search is not limited to the HEAD revision.
Instead, every revision is searchable – whether it is the most recent revision or a revision that was committed several years ago.
Searching with complex expressions and querying metadata
The search engine has a wide set of capabilities, including:
-
Exact expression matches, such as
"hello world"
. -
Complex expressions, such as
filename:*.h content:(for example)
. -
Metadata queries, such as
author:svn-role
. -
Specialized handling of
camelCase
,under_score
and numeric identifiers.
For more information, see KB203: Understanding VisualSVN Server search syntax.
Searching through the commit history
Users can search the log messages in the history of any file or folder.
Search queries can use special keywords such as author:
and log:
.
No limits on the repository sizes
There are virtually no limits on the sizes of the repositories that can be indexed.
Consider the table below with examples of large code-heavy repositories and their respective search index sizes:
Repository | Revisions | Content size | Index size | Ratio |
---|---|---|---|---|
asf | 1,899,132 | 143.70 GB | 42.51 GB | 29.5% |
webkit | 291,612 | 27.01 GB | 5.66 GB | 20.9% |
You can use the Measure-SvnRepository
PowerShell cmdlet to collect the repository and search index size statistics in your environment.
Continuous indexing of new revisions
The dedicated VisualSVN Search Index service automatically monitors the repositories for incoming changes and keeps the index up-to-date.
Search latency is reduced by prioritizing indexing of repositories with pending search requests.
Licensing and evaluation
Full-text search is available with all paid VisualSVN Server licenses, starting from an Essential license.
Licensing is thoroughly described in the KB220: VisualSVN Server 5.2 Licensing Overview article. You can also find the information about all available VisualSVN Server licensing options on the Pricing page.
Getting started with full-text search
To get started with full-text search, enable search indexing on the Search tab in the server properties dialog.
The contents of your repositories will be indexed in the background. Enabling search indexing also makes the content search available in the web interface.