Skip to main content
All CollectionsGetting Around
Searching Your Knowledge Base
Searching Your Knowledge Base

RemNote offers a variety of ways to find content in your knowledge base.

Soren Bjornstad avatar
Written by Soren Bjornstad
Updated over 4 months ago

Taking notes is only useful if you can find the notes when you need them later! RemNote provides a variety of fast and powerful search interfaces to help you find your notes quickly, even after taking years' worth of them:

Searching your entire knowledge base

Press Ctrl+P (Cmd+P on a Mac) or click in the Search box in the upper-left corner to search your knowledge base from anywhere.

When search opens, you'll be presented with a short list of Rems you've recently used. If the Rem you're looking for isn't already in the list, just start typing to find it.

Once you've found the right Rem, click on it or press Enter to go there, or hold down Shift while clicking/pressing Enter to stay where you are and open the new Rem in another pane.

To limit your search to a particular section of your knowledge base, use Hierarchical Search.

Reference, portal, and tag search

You'll frequently make a Rem in one document and then later want to refer to that Rem in a different document. Type [[ (or @) to search for a Rem to reference, (( to search for a Rem to add as a portal, and ## to search for a Rem to add as a tag. Searching here works the same way as searching in the omnibar with Ctrl+P.

Tag search differs from reference and portal search in that it only shows Rems that have previously been used as a tag. If you want to use a Rem as a tag that has not previously been used as one, just select the “Show Non-Tags” option.

You can use hierarchical search within reference, portal, and tag search to limit your search to a particular section of your knowledge base.

Select text to search

Whenever you select a piece of text in RemNote, your entire Knowledge Base will be searched for any matching text, to help you quickly find Rems that are about the same thing. Unlike Ctrl+P and reference/portal search, this searches only for exact matches on whole words; it will not include Rems that match only some of the text you've selected or Rems where the text you've selected is part of another word.

Selecting a Rem here will add it as a portal underneath the current Rem.

This feature can be toggled on and off using the magnifying glass icon in the toolbar.

Find/filter in document

In larger documents, you may need help finding your way around even after you've landed in the correct document. Pressing Ctrl+F (Cmd+F on a Mac) will open a popup that allows you to:

  • go to occurrences of a particular word (Find)

  • hide all Rems that don't contain a particular word or have a particular tag (Filter)

  • carry out a find-and-replace of specific text on all Rems in the document (Replace)

  • hide all Rems that don't match arbitrary criteria (Query Filter)

If you type multiple words into the Find and Filter functions, RemNote will find all occurrences of any of the words.

Find in descendants

When looking at a Rem that has a large number of descendants, you can press Ctrl+Shift+C (Cmd+Shift+C on a Mac) to quickly select one that you want to move your cursor to.

How the Search Algorithm Works

RemNote uses a complex prioritization algorithm to decide how to order search results in Ctrl+P search and reference/portal/tag search. A few tips that may help you decide how to design your Knowledge Base for optimum searching:

  • Search terms match only at the front of words in your Rems: searching for cat finds Rems containing cat or catenary, but not dedicate.

  • Search is not case-sensitive: cat is the same as Cat or cAt.

  • Documents and concepts are ranked higher than other Rems.

  • Items closer to the top of the hierarchy (“shallower”) are ranked higher.

  • Items you've recently accessed or access frequently are ranked higher.

  • When you enter multiple words, Rems whose full path through the hierarchy contains those words in order are ranked higher than those that merely contain all of them. (This allows you to type the name of a document, then a heading within it, then a Rem you're looking for under that heading, for example, and be virtually assured of finding it.)

These rules do not apply to Ctrl+F search, which simply searches in the current document for the exact text you type, ignoring case.

Why can I only find matches at the front of words?

RemNote prioritizes having an extremely fast, responsive search even on enormous knowledge bases. This means we have to make some compromises in what can be found. In order to get the search this fast, we can't just search through all your Rems looking for all possible matches, we need to maintain an index of the Rems – a special data structure ordered to allow fast searches.

To understand how this works intuitively, consider a bookshelf where the books are arranged in alphabetical order by title. If you want to find all books whose title starts with some letters (let's say “Con”), this is very easy: you just look at a book somewhere near the middle of the shelf, note whether that book's first three letters come before or after “Con” alphabetically, and repeat this process on the half of the shelf you know the books belong in. Momentarily, you'll find all the matching books right next to each other.

On the other hand, if you want to find all books which contain the letters “Con” anywhere in their titles, no shortcut is possible – the only way is to look at every book on the shelf, read its entire title, and figure out if it contains those letters.

In theory, we could build an index that contained a “book” for every possible part of every word in your knowledge base. But this has two drawbacks that make it impractical: first, updating the index as you changed your Rems would be extremely slow, as many entries would need to be written every time; second, the index would require a very large amount of storage space. We compromise by indexing each word, rather than each Rem, which works well enough for most purposes.

(At some point in the future, we'd like to support stemming, so that compound words like “bookshelf” would be indexed under both “bookshelf” and “shelf”.)

Did this answer your question?