Searching with Read the Docs

Read the Docs uses Server Side Search to power our search. This guide explains how to add a “search as you type” feature to your documentation, and how to use advanced query syntax to get more accurate results.

You can find information on the search architecture and how we index documents in our Search docs.

Enable “search as you type” in your documentation

readthedocs-sphinx-search is a Sphinx extension that integrates your documentation more closely with the search implementation of Read the Docs. It adds a clean and minimal full-page search UI that supports a search as you type feature.

To try this feature, you can press / (forward slash) and start typing or just visit these URLs:

Search query syntax

Read the Docs uses the Simple Query String feature from Elasticsearch. This means that as the search query becomes more complex, the results yielded become more specific.

Exact phrase search with slop value

~N (tilde N) after a phrase signifies slop amount. It can be used to match words that are near one another.

Example queries:

Prefix query

* (asterisk) at the end of any term signifies a prefix query. It returns the results containing the words with specific prefix.

Example queries:

Fuzzy query

~N after a word signifies edit distance (fuzziness). This type of query is helpful when the exact spelling of the keyword is unknown. It returns results that contain terms similar to the search term as measured by a Levenshtein edit distance.

Example queries:

Build complex queries

The search query syntaxes described in the previous sections can be used with one another to build complex queries.

For example: