Searching Through an Ebook Collection with Everything and Calibre

This entry is a follow up to How to Find & Open Any File In a Jiffy with Launchy + Everything + Dopus, applied specifically to searching by title through an entire ebook library managed in Calibre. Here I’m assuming you already have these software packages installed, this is not a 101 entry but rather an advanced integration showcase.

Quite the advanced bookmark settings you got there!

The first step is to create a bookmark in Everything which saves a shortcut to your ebook library, optionally restricted to certain file extensions to exclude extraneous files (e.g. covers and calibre metadata) and folders from search results, as per the screenshot on the right. This is the most straightforward way to do it, we’ll see a fancier setup using Everything filters in a minute. Assign a keyboard shortcut to your bookmark if you plan to use it often.

Once you’ve found the book you want to read within the results, you can open it right from the Everything search window, either in the Calibre ebook reader or another reader of your choice.

But what if you want to further search or filter this initial list, based on Calibre metadata rather than just file names? To achieve that, install the Drop Search Results plugin in Calibre. You can now drag and drop the search results from Everything in Calibre (via the DSR popup, be careful not to re-add your books to your library!) where only these selected books will be displayed and marked as true.

You can then do a full-text search scoped to only these files you had selected from your initial file search by checking the “Restrict searched books” checkmark:

Scoped full-text search

Using Everything Filters and Bookmarks from Launchy

Let’s take it up a notch by integrating the above with Launchy. If you want to trigger an ebook title search from Launchy, you can define a custom search filter in Everything based on file extensions:

then assign it its own keyword in Launchy’s runner:

-filter ebooks -search "$$"

After a bit of additional tinkering I think the more elegant and flexible solution is to use:

  1. a bookmark just to save your library’s location – i.e. no file extension filter is defined in the filter – and give it a macro name (e.g. “eb”);
  2. a custom filter to narrow down to ebook file extensions, with another macro (e.g. “ebk”);
  3. a third macro (e.g. “ebooks”) that combines the bookmark and filter macros, like so:
/define ebooks=eb: ebk:

If you do so then you don’t need to create a separate runner keyword, you can prepend your generic Everything query with the macro’s name, like so:

You can also use these filter and bookmark macros alone or in various combinations, which can come useful if you have several Calibre libraries, or documents outside of Calibre that you’d like to occasionally search separately.

Note that some of that stuff is a bit cutting edge and may only work with Everything 1.5 alpha. It’s easy enough to import any existing bookmarks and filters you might have created in 1.4. Everything 1.5 provides full-text indexing but last time I tried it it effectively killed my PC so I’m a happy camper with Calibre 6.x’s full-text search for the time being.

If you don’t want to use Everything, Calibre has a URL scheme that can be used to trigger searches. It works, and you could use it from Launchy by firing up a web browser, but it won’t feel quite as blazingly fast as Everything, and it requires Calibre to be running.

Windows 11 and PowerToys Alternatives

If you don’t want to use Launchy, maybe you’ll like the Everything integration with Windows 11, which will recognize your Everything macros:

A much closer substitute to Launchy comes with PowerToys, a very versatile toolbox that includes a task runner with Everything integration, pictured below:

Leave a Reply

Your email address will not be published. Required fields are marked *