(Not to be confused with an ai-enhanced paid search tool with the same name.)
Definitely my biggest hobby project. Started in march 2022, and still going.
I started working on Omnisearch a few weeks after installing Obsidian. While this is an excellent note-taking app, it strongly relies on organization to surface your content: tags, folders, links, and backlinks. Something that absolutely does not work with my brain.
My notes are scattered post-it notes on a desk. They’re unrelated to each other. I can’t decide of a particular folder to stuff them. I won’t remember the tags I assign them. So how do I manage? I search.
Unfortunately for me, the search feature in Obsidian is… regexp-y? Literal? If that makes sense.
You look for a term, and it returns all the results that contain the term, in no particular order. I need a bit more than this, so I wrote a plugin that works like a web search engine, because context matters.
Omnisearch is built on top of MiniSearch a small library that ranks results. Is the word you’re looking for repeated many times in a specific note? Or is it in a title, or maybe a tag? Then that note must be important, let’s show it first.
That’s basically how it works. I guess it’s also useful for many other Obsidian users; each update is downloaded by tens of thousands of users, totaling more than 400.000 installations.
I also wrote Text Extractor, a companion plugin to help indexing “difficult” files such as images, PDFs, or Office documents.