Skip to main content
Preslav Rachev
  1. My Writings/

Omnisearch - The Hidden Gem for Discovering Content in Obsidian

Table of Contents
Omnisearch is a full-text search engine extension for Obsidian, providing results relevant to the search query.

A few months ago, I expressed my frustration with Obsidian’s lack of a¬†real¬†search for notes. I know that the word¬†real¬†is entirely subjective here, but I believe it is fair to use it. For my standards,¬†Obsidian’s default content search is decent for content filtering but not for content discovery.

Thankfully, a big part of what makes Obsidian so great is not just the tool itself but its ecosystem of plugins too. I knew that sooner or later, someone else out there would get onto building an excellent search extension for Obsidian. Or else I would have had to do it myself.

I was lucky to discover Omnisearch on the Obsidian subreddit a few days ago. It promised to do exactly what I needed from a well-built search engine.

Rather than simply returning all notes where a particular query appears, Omnisearch carefully weighs the relevance of the note’s content to the query. If the query appears in the title or within any headings, a note will be considered more relevant than if the query appeared anywhere in the text. The number of occurrences also plays a significant role. Last but not least, Omnisearch will take care of occasional misspellings by partially matching the content to the query. It can do all that, thanks to an underlying JavaScript library called¬†Minisearch.

A list of scored and matched results comes out, with the ones that best describe the search query coming at the top.

Searching within a vault using Omnisearch. Source: Original Creator

Initially, I was skeptical but decided to give it a try. I am happy that I did because Omnisearch is exactly what I wanted! I went as far as to replace the use of Obsidian’s default Quick Switcher with Omnisearch’s “Vault Search.” It now serves as both a global file search and a quick file switcher.

I changed the default Quick Switcher with Omnisearch

Is it performant? #

At this time, Omnisearch performs a full re-index of an Obsidian vault upon its opening. The resulting index is then kept in memory and continuously updated in the background as one adds changes to the notes in the vault. Being in-memory is what makes it so fast when performing a search. A full re-index is also blazing fast at this point - on my decently-sized vault of a couple of hundred notes, it still takes less than a second, and that, only if I close the vault and open it again. This may not be the case with larger vaults, which is one of the reasons I pointed out to the original creator of Omnisearch that some stored index cache is possibly not such a bad idea.

At this point, I am happy that Omnisearch exists. It solves my immediate needs, and I look forward to seeing it develop even further.

Have something to say? Join the discussion: