A rust utility for indexing and searching for files or contents.
Find a file
Jeremy Karst 67dd461587
Some checks failed
CI / linux (push) Has been cancelled
CI / windows-cross (push) Has been cancelled
CI / release (push) Has been cancelled
Removal of positions index from FTS for dramatically reduced index size and improved indexing speed at the cost of slightly slower search of common terms.
2026-09-26 16:29:36 -04:00
.forgejo/workflows Large rewrite of comments and docs for clarity and bevity. Minimal code changes for the same. 2026-09-25 14:58:51 -04:00
.vscode Added GPL license, deb packaging script, complete GUI rewrite, added CLI mode, better default config options, config now lives in user folder, reduced syscalls by 5x. 2026-08-02 19:04:30 -04:00
crates Removal of positions index from FTS for dramatically reduced index size and improved indexing speed at the cost of slightly slower search of common terms. 2026-09-26 16:29:36 -04:00
packaging Large rewrite of comments and docs for clarity and bevity. Minimal code changes for the same. 2026-09-25 14:58:51 -04:00
vendor Performance optimization pass dramatically speeds up fuzzy, regex, and wildcard searches by using trigram prefilters. Reduced memory churn. Added FTX extraction testing for a variety of formats. 2026-08-20 18:58:25 -04:00
.gitattributes Performance optimization pass dramatically speeds up fuzzy, regex, and wildcard searches by using trigram prefilters. Reduced memory churn. Added FTX extraction testing for a variety of formats. 2026-08-20 18:58:25 -04:00
.gitignore Added index-preserving pruning. Added windows installer to CI, added automated GUI screenshot generation for documentation. 2026-08-04 23:33:28 -04:00
build.bat Added build scripts, improved search result click interactions, added a help tab, redesigned the ignore filter, added password protection for db. 2026-08-02 20:21:19 -04:00
build.sh Large rewrite of comments and docs for clarity and bevity. Minimal code changes for the same. 2026-09-25 14:58:51 -04:00
Cargo.lock Large rewrite of comments and docs for clarity and bevity. Minimal code changes for the same. 2026-09-25 14:58:51 -04:00
Cargo.toml Large rewrite of comments and docs for clarity and bevity. Minimal code changes for the same. 2026-09-25 14:58:51 -04:00
config_example.toml Removal of positions index from FTS for dramatically reduced index size and improved indexing speed at the cost of slightly slower search of common terms. 2026-09-26 16:29:36 -04:00
DESIGN.md Removal of positions index from FTS for dramatically reduced index size and improved indexing speed at the cost of slightly slower search of common terms. 2026-09-26 16:29:36 -04:00
LICENSE Added GPL license, deb packaging script, complete GUI rewrite, added CLI mode, better default config options, config now lives in user folder, reduced syscalls by 5x. 2026-08-02 19:04:30 -04:00
README.md Large rewrite of comments and docs for clarity and bevity. Minimal code changes for the same. 2026-09-25 14:58:51 -04:00
rust-toolchain.toml Large rewrite of comments and docs for clarity and bevity. Minimal code changes for the same. 2026-09-25 14:58:51 -04:00

QuickSearch

A fast local file search tool. QuickSearch indexes the folders you choose and keeps that index fresh automatically, so it finds files by name or by content as fast as you type.

AI Disclaimer

QuickSearch's core was designed and built by hand by its developer. Most of the rest, including the GUI, was designed by a human and built with AI agents, under human review, improvement and testing.

Home & GitHub Mirror

The primary home of this software is:

The code is also mirrored to GitHub for easier bug reporting and issue tracking: https://github.com/DataScienceDIY/quick_search

Features

  • Search as you type: ranked results update with every keystroke, matching file names, folder paths and file contents.
  • Typo tolerance: an optional fuzzy mode finds repot when you meant report.
  • Query filters: narrow a search by kind, date or location, e.g. budget type:Document modified:>=2024-01-01, plus wildcards and regular expressions. The in-app "?" window lists the syntax.
  • Live results: results on screen pick up renames, edits and deletions within a second, even while indexing is paused.
  • Duplicate finder: groups files that look identical and verifies a group byte for byte on request. It never deletes.
  • Always fresh: folders are watched and periodically reindexed, or, in manual mode, indexed only when you say so.
  • Password protection: optionally encrypt the index, which holds the names and text of everything indexed; your system keychain can remember the key.
  • Global shortcut: Ctrl+Shift+F brings up the window from anywhere, starting QuickSearch if it is closed. The Settings tab binds it in one click on KDE and GNOME; elsewhere, bind quicksearch --toggle in your desktop's keyboard settings.
  • Terminal search: quicksearch <query> prints ranked, pipe-friendly paths; --long adds sizes, dates and highlighted snippets.
  • Portable mode: keep the program, config and index in one folder that moves between devices.

The Help tab and first-start tour cover usage, and every setting explains itself on hover. man quicksearch (from the .deb, or packaging/quicksearch.1) documents terminal search and the query syntax.

Build & run

./build.sh          # Linux
build.bat           # Windows

These take a fresh machine to a running app: they install missing build dependencies (with your permission), build a release binary, and launch it.

cargo build --release -p quicksearch-gui   # binaries: target/release/quicksearch{,-cli}
cargo run -p quicksearch-gui               # or just run it
cargo test --release --workspace           # test suite (release: debug Argon2 takes minutes)

Install

  • Debian / Ubuntu: ./packaging/build-deb.sh, then sudo apt install ./dist/quicksearch_<version>_amd64.deb.
  • Other Linux: download the AppImage from the release page, make it executable, and run it. If your distribution lacks FUSE, run it with APPIMAGE_EXTRACT_AND_RUN=1.
  • Windows: run the setup .exe from the release page, or unpack the .zip anywhere for an install-free copy.

Configuration

Settings live in ~/.config/quicksearch/config.toml (Windows: %APPDATA%\quicksearch\config.toml), created on first run and edited live by the GUI. config_example.toml is the full reference for every key. A config.toml placed next to the binary enables portable mode.

More

Design choices and the reasoning behind them are described in DESIGN.md; the code and its comments are the detailed reference. QuickSearch is open source under the terms in LICENSE.