Search Intelligence

SearchForge

Index your files once, then get results back with no disk scan at all.

Free right now — no account, no card

Get SearchForge free Windows & Mac · one file, nothing to install

Preview

1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.

Interface design SearchForge, 1 of 1
Screenshot SearchForge running on Windows today

Free while we’re in preview

Get SearchForge

Index your files once, then get results back with no disk scan at all.

The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.

One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.

Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.

  • One file — no installer
  • Runs on your machine, offline
  • Source code published below

Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, SearchForge is included in every plan along with the rest of the range.

Pay the cost once

Live search tools re-walk the tree and re-read every file each time you type a query. SearchForge doesn’t. You run searchforge index ~/docs --index docs.json once, which is slow, and after that a query is a map lookup against the stored file. Move that folder away entirely and queries still answer from the index alone.

Several terms are ANDed by intersecting each term’s file list, so query invoice 2024 returns only files holding both.

Updating without rebuilding

The index stores, per file, the exact list of tokens that file contributed. Re-running index compares size and mtime: unchanged files are left completely alone, changed ones are re-tokenised, and a file you deleted has its path surgically removed from just its own token buckets. --rebuild throws all of that away and starts from nothing.

Binary files get their name and nothing else

One NUL byte anywhere in the first 8KB and the file is treated as binary, so its content is never read for tokens. The filename still is.

No phrases, no regex, yet

A token is a run of letters or digits, lowercased, and every other character is a separator that gets discarded. That buys the speed and costs you phrase search. OCR indexing and a quick launcher are roadmap.

Reading on the job itself

Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams

A working CLI prototype of the persistent-index engine: build a real inverted index once, then query it near-instantly with no filesystem re-scan — proven by moving the indexed folder away entirely and confirming queries still work from the stored index alone. OCR indexing and a quick-launcher UI are still on the roadmap.

Naming status

Working name only — brand verdict **AVOID** (Very High). Collision: SearchForge. Do not use.

What it draws on

Existing paid software whose best ideas shaped this program: dtSearch Desktop, FileLocator Pro, Listary Pro, Copernic Desktop Search.

Command line

There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.

SearchForge - persistent inverted-index search tool

SearchForge is the "Pro" tier build-once/query-many search engine: build an
on-disk index once, then run many near-instant queries against it without
ever re-walking or re-reading the filesystem being searched.

Usage:
  searchforge index <dir> --index <indexfile> [--rebuild]
      Walk <dir> and build/update the inverted index at <indexfile>.
      Without --rebuild, an existing index is updated incrementally:
      unchanged files (same size+mtime) are left alone, new/changed files
      are (re)tokenized, and files that no longer exist are removed.
      --rebuild ignores any existing index content and rebuilds from
      scratch.

  searchforge query <term...> --index <indexfile> [--json] [--max N]
      Look up one or more space-separated terms in the index (AND
      semantics: a file must contain every term to match). This is a
      direct map lookup against the stored index - it does not touch the
      filesystem that was indexed. --max limits printed results (default
      50). --json prints structured JSON instead of plain text.

  searchforge stats --index <indexfile> [--json]
      Report index metadata: file count, unique token count, index file
      size, and when it was built/last updated.

  searchforge help
      Show this message.

Flags accept "-flag value" or "--flag value" form.

Recorded from the shipped binary, not written by hand.

Source

Every file the program is built from:

console.go · console_test.go · guided.go · main.go

SHA-256 checksums · build instructions & scope notes · full build plan