lightweight search engine for local text docs
C Emacs Lisp Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Note: I'm working on a some deep changes that won't land here until reasonably complete. If you use glean and wouldn't mind answering some questions (about what features you find most useful), email or send me a private message. Thanks!

Glean is a lightweight search engine for local text docs.

Run gln_index to build an index, then use gln to search.

To install:

Look at src/ (You probably won't need to edit it.)

cd src
make install


gln_index -p     # index all text-ish files in ~, store index in ~./gln/; -p = show-progress

gln foo bar OR baz          # show all lines containing foo AND (bar OR baz)

For more info, look at the man pages or HTML docs in doc/.

It's like grep -r ~ foo, but much faster.

With many search indexing systems, the index can be 30-50% the size of indexed content. Glean's index is a svelte 2-5%, and builds rapidly.

Glean falls back on grep at the file level, and is much more efficient for searching lots of small-to-medium files, rather than a few larger (25+ MB) ones.

The prototype/ directory contains the original prototype (in Lua). Glean follows this essential design, the rest is implementation details.