Skip to content

wtasg/search

Repository files navigation

Search

A fast file search indexer using SQLite FTS5 for full-text search capabilities.

Features

  • 🔍 Full-text search with SQLite FTS5
  • 🚀 Incremental indexing - only changed files are re-indexed
  • 🌐 Web interface - modern dark theme GUI
  • 🔌 REST API - lightweight /q endpoint for integrations
  • 📦 Multiple package formats - DEB, RPM, Flatpak
  • 🔧 Single binary - no runtime dependencies

Quick Start

# 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 7997

Installation

From Source

Manual Build

Build 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 .

Package Managers

# 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

Commands

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

API Endpoint

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"

Documentation

License

MIT License

About

Local indexer and search utility

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors