A fast file search indexer using SQLite FTS5 for full-text search capabilities.
- 🔍 Full-text search with SQLite FTS5
- 🚀 Incremental indexing - only changed files are re-indexed
- 🌐 Web interface - modern dark theme GUI
- 🔌 REST API - lightweight
/qendpoint for integrations - 📦 Multiple package formats - DEB, RPM, Flatpak
- 🔧 Single binary - no runtime dependencies
# Install
./scripts/install.sh
# Index a directory
search index ~/code
# Search files
search query "TODO"
# Start web interface
search serve --open
# Start API server
search api --port 7997Build from source requires Go 1.21+ and GCC.
git clone https://github.com/wtasg/search
cd search
# Recommended: Use Makefile to ensure FTS5 support
make build
make install PREFIX=/usr/local
# Manual build with FTS5 enabled
CGO_ENABLED=1 CGO_CFLAGS="-DSQLITE_ENABLE_FTS5" go build -o search .# Debian/Ubuntu
./scripts/build-deb.sh
sudo dpkg -i build/search_1.0.0_amd64.deb
# Fedora/RHEL
./scripts/build-rpm.sh
sudo rpm -i build/search-1.0.0-1.x86_64.rpm
# Flatpak
./scripts/build-flatpak.sh
flatpak install --user build/com.wtasg.Search-1.0.0.flatpak| Command | Description |
|---|---|
search index <path> |
Index files in a directory |
search query <term> |
Search indexed files |
search status |
Show index statistics |
search serve |
Start web interface (port 7979) |
search api |
Start API server (port 7997) |
search version |
Print version info |
The search api command starts a lightweight HTTP server with a single search endpoint:
# Start API server
search api --port 7997
# Query
curl "http://localhost:7997/q?q=TODO&limit=10&ext=.go"- Usage Guide - Detailed usage instructions
- Development Guide - Build and contribute
- Architecture - Technical design
MIT License