wiki/2020-04-15-20-41-51.org
Gabriel Arazas 8094b54f35 Reformat the wiki
Create a unified format for my wiki.
Unfortunately, since most of my notes are created on a whim and I don't
care much about metadata at the time, the timestamps are only
approximations from my memory.
2020-09-09 05:28:33 +08:00

28 lines
1.7 KiB
Org Mode
Executable File

#+TITLE: Add a desktop search engine for your digital library
#+AUTHOR: "Gabriel Arazas"
#+EMAIL: "foo.dogsquared@gmail.com"
#+DATE: "2020-04-15 20:41:51+08:00"
#+DATE_MODIFIED: "2020-09-09 05:09:41+08:00"
#+LANGUAGE: en
#+OPTIONS: toc:t
#+PROPERTY: header-args :exports both
Desktop search engines adds a crucial thing for [[file:2020-04-14-18-28-55.org][Maintaining your own digital library]]: retrievability.
With the ability to search and retrieve for information scattered throughout our files, we can then quickly connect and add information without much burden.
An ideal desktop search engine should have the following things:
- Features both a graphics user interface (GUI) and a command-line interface (CLI).
- Accepts not only plain-text files but other file formats such as images, videos, and audio.
- Quickly searches through text and even [[file:2020-04-13-17-32-27.org][File metadata]] for binary files.
- Invites integration (and extension) with an API allowing for more control and features.
- Highlights searching with a query language that is both simple and powerful.
With a cursory search, I found [[https://www.lesbonscomptes.com/recoll/][Recoll]] that fits the bill with the added bonus of being a cross-platform tool and easily configurable.
A desktop search engine like Recoll and DocFetcher uses index-based searches which enables them to search quite fast.
In order to achieve Google Search-level of search speed, you have to build an index based from the contents of the directory.
Most desktop search engines index the entire disk by default (and it is not recommended) but they should let you configure what directories to include (both Recoll and DocFetcher do).
Indices should also be continually updated as your filesystem changes.